[[plugins]] repo = 'machakann/vim-sandwich' on_map = { xno = '', n = '(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 = '' } hook_add = ''' let g:textobj_generics_no_default_key_mappings = v:true onoremap ag (textobj-generics-i) onoremap ig (textobj-generics-innerparen-i) xnoremap ag (textobj-generics-i) xnoremap ig (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<', "\(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 = '' } # depends = ['vim-textobj-user'] [[plugins]] repo = 'kana/vim-textobj-entire' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' onoremap ae (textobj-entire-a) onoremap ie (textobj-entire-i) xnoremap ae (textobj-entire-a) xnoremap ie (textobj-entire-i) ''' [[plugins]] repo = 'kana/vim-textobj-line' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' onoremap al (textobj-line-a) onoremap il (textobj-line-i) xnoremap al (textobj-line-a) xnoremap il (textobj-line-i) ''' [[plugins]] repo = 'machakann/vim-textobj-functioncall' on_map = { xo = '' } 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 (textobj-functioncall-i) onoremap if (textobj-functioncall-innerparen-i) xnoremap af (textobj-functioncall-i) xnoremap if (textobj-functioncall-innerparen-i) ''' [[plugins]] repo = 'osyo-manga/vim-textobj-context' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' onoremap ix (textobj-context-i) xnoremap ix (textobj-context-i) ''' [[plugins]] repo = 'rhysd/vim-textobj-anyblock' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' onoremap ab (textobj-anyblock-a) onoremap ib (textobj-anyblock-i) xnoremap ab (textobj-anyblock-a) xnoremap ib (textobj-anyblock-i) ''' [[plugins]] repo = 'rhysd/vim-textobj-wiw' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' let g:textobj_wiw_no_default_key_mappings = v:true onoremap au (textobj-wiw-a) onoremap iu (textobj-wiw-i) xnoremap au (textobj-wiw-a) xnoremap iu (textobj-wiw-i) ''' [[plugins]] repo = 'thinca/vim-textobj-between' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' let g:textobj_between_no_default_key_mappings = v:true onoremap ao (textobj-between-a) onoremap io (textobj-between-i) xnoremap ao (textobj-between-a) xnoremap io (textobj-between-i) '''