Vimの「検索と置換」ワークフローを最適化したいと思います。あなたのほとんどもそうだと思うので、それは私が頻繁に行うことです。通常の行に沿って何か- ブロックをコピーし、いくつかの場所で変数の名前を変更します。おそらく、「コードをコピーして貼り付ける理由」の反射を引き起こす可能性がありますが、その道をたどらないでください...多くの有効なユースケースがあります:)
私は、検索コマンドと置換コマンドをよく知っています::s
または:%s
、しかし、私はそれらが好きではありません。検索する完全な変数名と変更する名前の両方を入力する必要があります。たぶん、タイピングの量を修正するより良い方法があります:%s
か?私はしばしば長い説明的な変数名を使用するので、それは本当に私にとって大きな問題です。また、変数名を最初から入力するのがタイプミスになりやすく、タイプミスを見つけるのに時間と頭脳を消費することも好きではありません。一度入力してから、可能な場合は完全に回避するために、コピーして貼り付けることをお勧めします。
現在のワークフローでは、movement / yank / select / search / putの組み合わせを使用してファイル内を移動し、1つずつ置き換えます。これは素晴らしいことではありませんが、完全な変数名を入力しなくて済むという利点があります。周囲の状況に応じて最初の数文字を入力する/
か、別の移動コマンド(例:)を使用fx
してve
から、単語全体を選択する必要があります。また、インスタンスごとに繰り返す必要があることも気にしません。各変更を確認せずに、完全な検索置換を実行することはありません。しかし、1回のキーストロークで置換アクションを繰り返すことができれば非常に望ましいでしょう(この方法ではできません)。各交換は、通常のようなものでn
、その後ve
、その後p
(またはさらに悪いです"0p
)
もっと速い方法はありますか?
n
ve
"0p
ます。残念ながらこれを複製することはできません.
n ce ctrl-r 0 <esc> n.n.n.n.n.n.
.
最後の「コマンドブロック」を繰り返します(正確な用語は不明です。例:move + action + text。for exemple:(cwtoto<Esc>
カーソルから単語の末尾に「toto」でc/foo<enter>bar<Esc>
変更)、 (カーソルから「 foo」、「bar」に置き換えます。その後、移動できます(カーソル、hjkl、または数値+ hjkl(n回実行)、G(ファイルの最後に移動)、/ something(直前に移動)何か」)など)を押して.
から、同じ「コマンドブロック」をやり直します