この記事では、Vim / neovim でプラグインを使わずに「OSコマンドの実行結果を挿入する」方法について、ご紹介します。
[解答] :read !{OSコマンド}
Vimコマンド
(ノーマルモードで)
:read!{OSコマンド}
省略するとこちら。
(ノーマルモードで) :re!{OSコマンド} または :r!{OSコマンド}
スペースの有無は関係ありません。有っても無くても良いです。
OSコマンドを実行した結果を挿入できます。例えば、こんな感じ。
解説
非常にオーソドックスで、よく使う機能の一つです。
単純に、実行結果を貼り付けるreadコマンドと、OSコマンドを実行する!コマンドの組み合わせです。
しかし、使えるOSコマンドが多いだけに、様々な場面で使えます。
よく貼り付けるOSコマンド例
カレントディレクトリのパスを貼り付け
:r!pwd
ファイル一覧を貼り付ける
:r!ls {対象ディレクトリパス}
拡張子などを指定してフィルタリングした結果も貼り付けられます。例えば、PNGファイルだけ貼り付ける場合はこちら。
:r!ls {対象ディレクトリパス}.png
ファイルの一部を挿入する
TESTという文字列を含む行を貼り付ける場合。
:r!grep 'TEST' {対象ファイル}
逆に、TESTという文字列を含まない行を貼り付ける場合。
:r!grep -v 'TEST' {対象ファイル}
向き不向きはありますが、シェル芸と組み合わせると更に利用価値が広がりますよね。
ぜひ工夫して利用しましょう。
このVimコマンドの補足情報
- 利用頻度
- 便利さ
- 覚え易さ
関連するVimヘルプ
Vimからは、下記のコマンドでヘルプを確認できます。
:help read! :help r!
ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。
参考書籍
こちらの書籍が参考になります。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。