[[plugins]] repo = 'https://github.com/machakann/vim-sandwich' on_map = { xno = '', n = '(operator-sandwich-dot)' } hook_add = ''' 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 = 'https://github.com/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 += [ \ #{ \ 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 = 'https://github.com/kana/vim-operator-user' [[plugins]] repo = 'https://github.com/kana/vim-textobj-user' [[plugins]] repo = 'https://github.com/kana/vim-textobj-indent' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' onoremap ai (textobj-indent-a) onoremap ii (textobj-indent-i) onoremap aI (textobj-indent-same-a) onoremap iI (textobj-indent-same-i) xnoremap ai (textobj-indent-a) xnoremap ii (textobj-indent-i) xnoremap aI (textobj-indent-same-a) xnoremap iI (textobj-indent-same-i) ''' [[plugins]] repo = 'https://github.com/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 = 'https://github.com/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 = 'https://github.com/machakann/vim-textobj-functioncall' on_map = { xo = '' } depends = ['vim-textobj-user'] hook_add = ''' " from https://github.com/yuki-yano/dotfiles/blob/8840dc3a/.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 = 'https://github.com/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 = 'https://github.com/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 = 'https://github.com/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 = 'https://github.com/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) '''