私は一種のVim初心者です。現在のバッファの内容を外部コマンドの標準入力に送信します(メールとしましょう)。私の最後の目的は、現在のVimバッファーからすばやくメールを送信するためのショートカットを設定することです。これは些細なことだと思うが、Vimバッファーを外部コマンドに送信する方法を見つけることができなかった。前もって感謝します。
:w !cmd
を使用して、外部コマンドの標準入力に現在のバッファーを書き込むことができます。 :help :w_c
から:
:[範囲] w [儀式] [++ opt]!{cmd}
{cmd}
行を標準入力として[range]
行で実行します('!'
の前のスペースに注意してください)。{cmd}
は":!{cmd}"
と同様に実行され、'!'
は以前のコマンド|:!|
に置き換えられます。
関連するコマンドは:%!cmd
です。これは同じことを行い、現在のバッファーをコマンドの出力に置き換えます。したがって、:%!sort
は外部ソートコマンドを呼び出して、現在のバッファーを所定の位置にソートします。
コマンドラインから外部バッファーに現在のバッファーを送信する方法の例を次に示します。
vim -es +"w >> /dev/stdout" -cq! /etc/hosts
スクリプトの作成に役立ちます。
その他のコマンドライントリックについては、以下を確認してください。