17

重複した質問をしたことで笑われることは間違いありません。誰かが以前に質問したに違いありません!しかし、1時間探しても見つかりませんでした。私は間違ったものを探しているに違いない。

Vi(またはVim)では}、キーシーケンスを使用して文字までのすべての文字を削除できますdt}(またはdf}ブラケットも削除したい場合)。

ただし、これは}文字が現在の行にある場合にのみ機能します。私がやりたい}のは、最初の出現が次の行にある場合でも、次までのすべてを削除することです。

私は次のようなことを考えています(他のコンテキストでd/}のスラッシュは、次の の出現に連れて行ってくれます)。明らかな理由により、これは機能しませんが、意図が明確であることを願っています。/}<enter>}

==編集==

よしよしよし…ごめんね。あなたは大丈夫です、それは動作します(私のクリーンインストールマシンで)。構成ファイルのマッピングがめちゃくちゃになっている可能性がありますが、他のファイルでは機能していません。

頭を下げる

4

3 に答える 3

16

d/}<cr>動作します。}同じ行にない次まで削除するのが正規の方法です。ちなみに、d?{<cr>同じことを反対方向に行います。

于 2012-09-26T21:50:15.903 に答える
3

このプラグインは、キーストロークを節約するはずです。fFtT の機能を拡張します。そのため、それらは境界を越えて機能します。

于 2012-09-27T00:57:17.130 に答える
1

文字が行頭にある場合、}または{行頭に配置されている場合、1 つの方法としてText オブジェクトのモーションを使用することができるため、次のようなコマンドd]]も役立ちます。

于 2012-09-26T21:59:05.110 に答える