textobj-multiblock を少し改良した

textobj-multiblock は便利過ぎてないと生きられないレベルの textobj なんですが、誤爆する事が多かったので少し改良しました。
textobj-multiblock についてはこちらを参照して下さい。


さて、例えば次のように " をマッチする範囲に設定している場合、

" コメント

ここで textobj-multiblock を呼び出すと 上下の " にマッチする

" コメント

のように意図しない範囲がマッチしてぐぬぬ…となる事が稀によくあります。
このような誤爆を防ぐために同一行の場合のみマッチするような設定を追加しました。

" 各括弧のリストの第3要素に 1 を設定すると同一行の場合のみマッチするようになる
" 要素がなければ 0 になる
let g:textobj_multiblock_blocks = [
\   [ '(', ')' ],
\   [ '[', ']', 0 ],
\   [ '"', '"', 1 ],
\]

" hoge にマッチする
"homu"

" 同一行ではないのでマッチしない
"
mami
"


これで多少誤爆を抑制出来ると思います。