[解決済み] Vimで外部コマンドにバッファをパイプで接続する
2022-11-22 02:53:16
質問
外部コマンド(メールなど)の標準入力にカレントバッファの内容を送りたいのですが、どうすればいいですか?
Vimのバッファを外部コマンドに送るにはどうすればよいですか?
どのように解決するのですか?
この場合
:w !cmd
を使うと、現在のバッファを外部コマンドの標準入力に書き込むことができます。から
:help :w_c
:
:w_c :write_c
:[range]w[rite] [++opt] !{cmd}
Execute {cmd} with [range] lines as standard input
(note the space in front of the '!'). {cmd} is
executed like with ":!{cmd}", any '!' is replaced with
the previous command :!.
関連するコマンドは
:%!cmd
で、これは同じことをした後、現在のバッファをコマンドの出力で置き換えます。つまり
:%!sort
は外部ソートコマンドを呼び出して、現在のバッファを適所にソートします。から
:help :range!
:
:{range}![!]{filter} [!][arg] :range!
Filter {range} lines through the external program
{filter}. Vim replaces the optional bangs with the
latest given command and appends the optional [arg].
Vim saves the output of the filter command in a
temporary file and then reads the file into the buffer
tempfile. Vim uses the 'shellredir' option to
redirect the filter output to the temporary file.
However, if the 'shelltemp' option is off then pipes
are used when possible (on Unix).
When the 'R' flag is included in 'cpoptions' marks in
the filtered lines are deleted, unless the
:keepmarks command is used. Example:
:keepmarks '<,'>!sort
When the number of lines after filtering is less than
before, marks in the missing lines are deleted anyway.
関連
-
[解決済み] Vimエディタを終了するにはどうすればよいですか?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] Vim 直前の検索ハイライトをクリアする
-
[解決済み] Vimで大文字小文字を区別しない検索をする方法
-
[解決済み] VimのTabキー==4スペースと中括弧の後の自動インデント
-
[解決済み] Vimで最も生産性の高いショートカットは何ですか?
-
[解決済み] Vimでクリップボードにコピーする方法は?
-
[解決済み】vimの「sudoで書く」トリックはどうやるの?
-
[解決済み】Vimで複数のファイルを効率的に操作する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] .vimrcファイルはどこですか?
-
[解決済み] Vim の "Press ENTER or type command to continue" プロンプトを無効にするにはどうしたらいいですか?
-
[解決済み] vimのレジスタはどのように使うのですか?
-
[解決済み] すべての行をクリップボードにコピーする
-
[解決済み] VimとCtagsのヒントとコツ [終了しました]。
-
[解決済み] vimでカーソルをファイル末尾に移動させる
-
[解決済み] vimでタブをスペースに置き換える
-
[解決済み】Vimで'gf'から戻るにはどうしたらいいのか?
-
[解決済み] vimで改行を貼り付けるには?
-
[解決済み] vimでファイルを開いた後、バックディレクトリのブラウズに移動する