vimバッファにはvilsのようなものを使いたいです。
例:
a
b
a
b
「a」を検索(:g/a/
)
出力:
a
a
次に、通常のバッファであるかのように出力を編集します。完了すると、変更を1行ずつ元のバッファにマップする必要があります。
それ、どうやったら出来るの?
PS:私はおそらく:%s/../../
それかそのようなものを使うことができました、しかしそれはそれができるほど快適ではないでしょう。CTRL( +Fバッファーでの完了が機能する場合でも。)
Qfreplacehttp://github.com/thinca/vim-qfreplaceを使用します
あなたが話している機能は、emacsのoccure
/のように聞こえます。narrow-to-region
vimでは、次のコマンドを入力できます。
:vimgrep pattern %
次に、と入力:cw
してクイックフィックスリストを開きます。
マウスクリックまたは:cn
/:cp
を使用してナビゲートし、変更を加えることができます。
一致する行が連続する行の単一の範囲にまたがっている限り、NrrwRgnプラグインが機能する可能性があります。
私は通常、行をドキュメントの最後にコピーします
:g/a/t$
必要に応じて、「以前の」ドキュメントの終わりにマークを設定できます。
:$mark a
これで、ドキュメントの一部を通常どおりに編集できるように'a,$
なりました。これには、別の場所に保存することも含まれます。
:'a,$d | new | put!
以下も同様に機能します:レジスターに追加して、ヤンクすることができますa
:
:g/a/yank A
もちろん、開始する前に登録をクリアすることをお勧めします。
:let @a=""
g/../
次のようなコマンドと組み合わせることができます
:g/^a/ s/a/a.txt/
たとえば、すべての「a」を「a.txt」に変更します。':h:g'を参照してください