Vim の textobj-from_regexp でコンフリクトした範囲を選択する
元ネタ
範囲選択して、その中にある
<<<<<<<
=======
>>>>>>>
からmine or theirsを一括選択するみたいなvimのほげふがほしい
— にゃははー (@Flast_RO) 2015, 4月 19
すでにプラグインがつくられたみたいなんですが、こういう正規表現だけで範囲を決定できるものは textobj-from_regexp を使うと簡単に定義することができます。
設定例
" <<<<<<< 〜 ======= map <expr> <Plug>(textobj-conflict-begin-a) \ textobj#from_regexp#mapexpr('^\zs<<<<<<< \_.*\n=======\ze$') map <expr> <Plug>(textobj-conflict-begin-i) \ textobj#from_regexp#mapexpr('^<<<<<<< \zs\_.*\ze\n=======$') " ======= 〜 >>>>>>> map <expr> <Plug>(textobj-conflict-end-a) \ textobj#from_regexp#mapexpr('^\zs=======\_.*\n>>>>>>> ') map <expr> <Plug>(textobj-conflict-end-i) \ textobj#from_regexp#mapexpr('^=======\zs\_.*\ze\n>>>>>>> ')
textobj-from_regexp 汎用性が高い。