テキストファイル(ログファイルなど)があり、vim
エディタで開き、次のコマンドを実行するとします。
:g/aaa
j
とキーを使って移動できる結果が出力されk
、下段に移動すると
Press ENTER or type command to continue
緑の文が表示されます。
私はそれを何とか理解し、いくつかのコマンドを使用して結果を処理できますが、それで何ができるかを見つける方法がわかりません。
私がやりたいことの1つは、この行を新しいファイルに保存することです。
もちろん、コマンドを使用できます。
$ grep aaa file.txt > new_file.txt
しかし、vim
編集者から直接入手できますか?
答え1
これは多段階プロセスを通じて行うことができます。
以内vim
:
:redir > new_file.txt
:g/aaa
:redir END
:help redir
内部から見てくださいvim
。
この:redir
コマンドは、最初のコマンドを変更して既存のファイルに追加することもできます。
:redir >> new_file.txt
答え2
私がする方法は、:g
into:v
とdoを逆にしてから、:v/pattern/d
結果テキストをwithレジスタにコピーして1GVG"ry
最後に:v
withを元に戻すことですu
。これで、一致する行がレジスタに安全に保存されますr
。