vimの:readでコマンドの出力をバッファに取り込む
タグ: vim / 初版公開: 2014-06-17

vimの:readは、ファイルの内容をバッファに挿入するコマンドだが、:read !cmdの形で使うと、コマンドの実行結果もバッファに取り込めるということを知った。

例えばカレントディレクトリのファイルの一覧をバッファに挿入したいなら、以下のようにすれば良い。

:read !ls

:r:readの短縮形なので、より簡潔に以下のようにも書ける。

:r !ls

なおvimはコマンドの出力をテンポラリファイルに出力する。 その際にオプションshellredirの値でリダイレクトを行う。 デフォルトでは標準出力と標準エラー出力の双方が保存される。

これ、めっさ便利ではないか。