[Vim問題] OSコマンドの実行結果を挿入する方法とは?

OSコマンドの実行結果を挿入する方法

この記事では、Vim / neovim でプラグインを使わずに「OSコマンドの実行結果を挿入する」方法について、ご紹介します。

[解答] :read !{OSコマンド}

Vimコマンド

(ノーマルモードで)
:read!{OSコマンド}

省略するとこちら。

(ノーマルモードで)
:re!{OSコマンド}
または
:r!{OSコマンド}

スペースの有無は関係ありません。有っても無くても良いです。

OSコマンドを実行した結果を挿入できます。例えば、こんな感じ。

uname -a コマンド結果を貼り付けるコマンド
uname -a コマンド結果を貼り付けるコマンド

解説

非常にオーソドックスで、よく使う機能の一つです。

単純に、実行結果を貼り付けるreadコマンドと、OSコマンドを実行する!コマンドの組み合わせです。

しかし、使えるOSコマンドが多いだけに、様々な場面で使えます。

よく貼り付けるOSコマンド例

カレントディレクトリのパスを貼り付け

:r!pwd

ファイル一覧を貼り付ける

:r!ls {対象ディレクトリパス}

拡張子などを指定してフィルタリングした結果も貼り付けられます。例えば、PNGファイルだけ貼り付ける場合はこちら。

:r!ls {対象ディレクトリパス}.png

ファイルの一部を挿入する

TESTという文字列を含む行を貼り付ける場合。

:r!grep 'TEST' {対象ファイル}

逆に、TESTという文字列を含まない行を貼り付ける場合。

:r!grep -v 'TEST' {対象ファイル}

向き不向きはありますが、シェル芸と組み合わせると更に利用価値が広がりますよね。

ぜひ工夫して利用しましょう。

このVimコマンドの補足情報

  • 利用頻度[star rate=5]
  • 便利さ[star rate=5]
  • 覚え易さ[star rate=5]

関連するVimヘルプ

Vimからは、下記のコマンドでヘルプを確認できます。

:help read!
:help r!

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

参考書籍

こちらの書籍が参考になります。

[temp id=3]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。