VIM で Ctrl-y をマップして、カーソルの下から始まるブラケットに一致するものをすべて削除しようとしています。動作しますが、ブラケットも消去します。これは私が現在使用しているものです:
imap <c-y> <Esc><Right>d%<Insert>
私が言ったように、カーソルの下にあるものも削除します(つまり、ブラケットの一致)。私はこれを見つけました:
diX
X
探しているブラケットです。[
、(
、'
、など
コマンドの問題は、i
これを定期的に行うブラケットごとに新しいキーをマップしたくないことです。%
文字であっても、カーソルの下にあるものと一致するという点で気に入っていますs
。
ブラケットを保持するためにこれを取得する方法はありますか?
編集:申し訳ありませんが、例です。次のテキストの例があります (* はカーソルを表します)。
(*text to be erased between brackets)
"*text to be erased between brackets"
'*text to be erased between brackets'
[*text to be erased between brackets]
{*text to be erased between brackets}
基本的に、これらの各例では、カーソルを問題のブラケットの上に置き、ヒットCtrl-y
すると、挿入モードから通常モードに移動し、すべてのテキストまたはカーソルの下のブラケットの間にあるものをすべて削除します(その時点での下)私は通常モードに移行したので<Right>
、同じブラケットの次のものに移動しました。
したがって、上記のすべては次のようになります。
()
""
''
[]
{}
周囲のブラケットを削除せずに。ブラケットd%
を取り外した状態。