よさげプラグインの machakann/vim-sandwichを使ってみました。
代わりに vim-textobj-multiblock, vim-operator-surround を削除しました。
vim-expand-region, 魔改造した vim-textobj-between も使っています。
魔改造 vim-textobj-between は # にカーソルがあったときに「a,,」で「, fuga」を選択するようにしています。
machakann/vim-textobj-delimitedなら設定次第で「hoge」、「, homu」の選択もできるはずですが、正規表現がよくわからず設定できずにいます orz
hoge, fuga, homu
#
.vimrc
NeoBundle 'hokorobi/vim-textobj-between'
NeoBundle 'machakann/vim-sandwich'if neobundle#tap('vim-sandwich')
nmap s<Nop>
xmap s<Nop>letg:textobj#sandwich#stimeoutlen =100letg:sandwich#recipes = deepcopy(g:sandwich#default_recipes)letg:sandwich#recipes += [{'buns' : ['「','」']}]
letg:sandwich#recipes += [{'buns' : ['【','】']}]
letg:sandwich#recipes += [{'buns' : ['(',')']}]
letg:sandwich#recipes += [{'buns' : ['『','』']}]
call neobundle#untap()endif
NeoBundleLazy 'terryma/vim-expand-region', {
\ 'autoload': {
\ 'mappings': ['<Plug>(expand_region']}}
if neobundle#tap('vim-expand-region') " a,,: between " ib: sandwichletg:expand_region_text_objects = {
\ 'iw' : 0,
\ 'iW' : 0,
\ 'iu' : 0,
\ 'a,,' : 0,
\ 'ib' : 1,
\ }
call submode#enter_with('expand-region','nv','r',',e','<Plug>(expand_region_expand)')call submode#map('expand-region','nv','r','e','<Plug>(expand_region_expand)')call submode#map('expand-region','nv','r','s','<Plug>(expand_region_shrink)')call submode#map('expand-region','nv','r','E','<Plug>(expand_region_shrink)')call neobundle#untap()endif