[[plugins]] repo = 'machakann/vim-sandwich' on_map = { xno = '<Plug>', n = '<Plug>(operator-sandwich-dot)' } hook_add = ''' " vim-surround like mappings execute 'source' dein#get('vim-sandwich').path .. '/macros/sandwich/keymap/surround.vim' let g:sandwich#magicchar#f#patterns = [#{ \ header: '\<\%(\h\k*\.\)*\h\k*', \ bra : '(', \ ket : ')', \ footer: '', \ }] ''' hook_source = ''' call operator#sandwich#set('add', 'char', 'skip_space', 1) ''' [[plugins]] repo = 'yuki-yano/vim-textobj-generics' depends = ['vim-sandwich', 'vim-textobj-functioncall'] on_source = 'vim-sandwich' on_map = { xo = '<Plug>' } hook_add = ''' let g:textobj_generics_no_default_key_mappings = v:true onoremap ag <Plug>(textobj-generics-i) onoremap ig <Plug>(textobj-generics-innerparen-i) xnoremap ag <Plug>(textobj-generics-i) xnoremap ig <Plug>(textobj-generics-innerparen-i) ''' hook_source = ''' " from README let g:sandwich#recipes = get(g:, 'sandwich#recipes', g:sandwich#default_recipes) + [ \ #{ \ buns: ['textobj#generics#input_generics()', '">"'], \ expr: v:true, \ cursor: 'inner_tail', \ kind: ['add', 'replace'], \ action: ['add'], \ input: ['g'], \ }, \ #{ \ external: ['i<', "\<Plug>(textobj-generics-a)"], \ noremap: v:false, \ kind: ['delete', 'replace', 'query'], \ input: ['g'], \ }, \ ] ''' [[plugins]] repo = 'kana/vim-operator-user' [[plugins]] repo = 'kana/vim-textobj-user' # [[plugins]] # repo = 'kana/vim-textobj-indent' # on_map = { xo = '<Plug>' } # depends = ['vim-textobj-user'] [[plugins]] repo = 'kana/vim-textobj-entire' on_map = { xo = '<Plug>' } depends = ['vim-textobj-user'] hook_add = ''' onoremap ae <Plug>(textobj-entire-a) onoremap ie <Plug>(textobj-entire-i) xnoremap ae <Plug>(textobj-entire-a) xnoremap ie <Plug>(textobj-entire-i) ''' [[plugins]] repo = 'kana/vim-textobj-line' on_map = { xo = '<Plug>' } depends = ['vim-textobj-user'] hook_add = ''' onoremap al <Plug>(textobj-line-a) onoremap il <Plug>(textobj-line-i) xnoremap al <Plug>(textobj-line-a) xnoremap il <Plug>(textobj-line-i) ''' [[plugins]] repo = 'machakann/vim-textobj-functioncall' on_map = { xo = '<Plug>' } depends = ['vim-textobj-user'] hook_add = ''' " from https://github.com/yuki-yano/dotfiles/blob/8840dc3a90/.vimrc#L2953 let g:textobj_functioncall_no_default_key_mappings = v:true let g:textobj_functioncall_patterns = [#{ \ header: '\<\%(\h\k*\.\)*\h\k*', \ bra : '(', \ ket : ')', \ footer: '', \ }] onoremap af <Plug>(textobj-functioncall-i) onoremap if <Plug>(textobj-functioncall-innerparen-i) xnoremap af <Plug>(textobj-functioncall-i) xnoremap if <Plug>(textobj-functioncall-innerparen-i) ''' [[plugins]] repo = 'osyo-manga/vim-textobj-context' on_map = { xo = '<Plug>' } depends = ['vim-textobj-user'] hook_add = ''' onoremap ix <Plug>(textobj-context-i) xnoremap ix <Plug>(textobj-context-i) ''' [[plugins]] repo = 'rhysd/vim-textobj-anyblock' on_map = { xo = '<Plug>' } depends = ['vim-textobj-user'] hook_add = ''' onoremap ab <Plug>(textobj-anyblock-a) onoremap ib <Plug>(textobj-anyblock-i) xnoremap ab <Plug>(textobj-anyblock-a) xnoremap ib <Plug>(textobj-anyblock-i) ''' [[plugins]] repo = 'rhysd/vim-textobj-wiw' on_map = { xo = '<Plug>' } depends = ['vim-textobj-user'] hook_add = ''' let g:textobj_wiw_no_default_key_mappings = v:true onoremap au <Plug>(textobj-wiw-a) onoremap iu <Plug>(textobj-wiw-i) xnoremap au <Plug>(textobj-wiw-a) xnoremap iu <Plug>(textobj-wiw-i) ''' [[plugins]] repo = 'thinca/vim-textobj-between' on_map = { xo = '<Plug>' } depends = ['vim-textobj-user'] hook_add = ''' let g:textobj_between_no_default_key_mappings = v:true onoremap ao <Plug>(textobj-between-a) onoremap io <Plug>(textobj-between-i) xnoremap ao <Plug>(textobj-between-a) xnoremap io <Plug>(textobj-between-i) '''