次の行があるとします。
|add_test() (| == cursor position)
そして、「追加」を「削除」に置き換えたい。
del|_test()
Xを3回押してからiを押して、delを挿入して入力します。私が欲しいのは、3cだけを上書きする3cや3rのようなものです。これらは両方とも私が望むことをしません。3cは同じ文字で3文字を上書きし、3rは他のいくつかのことを行います。
手動でXingしてテキストを挿入せずにこれを行う簡単な方法はありますか?
3s
、 "substitute 3 characters"はc3l
と同じです。 3cl
とc3l
は同じである必要があります。同じ文字が繰り返し表示される理由がわかりません。私はt
を使用することも好きです。 ct_
別のポスターが言及したように、文字を数える必要はなく、「del」と入力するだけです。
私も数日間、「数文字の置き換え」に苦労しました。 'r'は単一の文字に最適で、R
は一致する長さの文字列に最適でしたが、OPが求めているようなものが欲しかったのです。そこで、:help x
と入力してしばらく読みましたが、s
とS
の説明はx
から数ページ下にあることがわかりました。
つまり、:help
はあなたの友達です。読んで学ぶ。
c {motion}コマンドを使用:
Wordはiskeyword変数によって決定されます。 :set iskeyword?で確認し、:set iskeyword = @、48-57,192-255のように '_'を削除します。ところで:help cと:help motionを参照してください。
3cl
はあなたが望むものだと思います。右に3文字変更します。 ct_del<esc>
と入力しますが、それはあなたが尋ねたものではありません
c3
( 'c'、 '3'、スペース)、挿入する文字を入力します。 (または、スペースではなく、右矢印またはl
を使用できます。)
または、@ Mikeがコメントで言ったように、 Control-R R
は、文字数が削除する文字数と一致する場合にうまく機能します。
またはct_
カーソルから次の_
キャラクター。
作品の長さが同じ場合は、R
コマンドを使用して、以前に入力したものを置き換えます。
与えられた他の答えは番号を使用します。テキストが長い場合、数える必要はありません。たとえば、次のようなマークダウンファイルの見出しをよく作成します。
Some super duper long title that I don't want to have to count
yy
pp
で行を2倍にします
Some super duper long title that I don't want to have to count Some super duper long title that I don't want to have to count
V
で行全体を強調表示し、r{char}
を使用します。この場合はr=
を使用して以下を取得します。
Some super duper long title that I don't want to have to count ==============================================================
(スタックオーバーフローのマークダウンフォーマットをトリップするために上記のスペースを追加しました)
「c3h」は3文字を戻し、挿入モードに入り、「del」と入力します