Vimエディタでテキストを編集中に外部のコマンドを実行したくなった時、一旦Vimを閉じるのは少し手間です。
macであればiTermで画面分割することもできますが、Vimの標準機能で画面分割することもできます。
この記事では、Vim上でそのままシェルコマンドを実行する方法について解説します。OSはmac、Vimエディタのバージョンは8.1を利用しています。
画面分割してコマンドラインを表示する方法も合わせて紹介します。
Vim上でシェルコマンドを実行する方法
Vim上でシェルコマンドを実行するには、「:!」の後に実行したいシェルコマンドを記述します。
:!シェルコマンド
例えばファイル一覧を表示するために「:!ls」と入力します。Windowsの場合は、コマンド部分は「dir」です。
上記のようにシェルコマンドを実行できます。
ただし、確認程度なら上記の方法で十分ですが、Vimエディタに戻ると結果が消えてしまいます。結果をVim上に残したい場合は、次の方法を参考にしてください。
Vim上に結果を出力する方法
Vim上のファイルにシェルコマンドの結果を出力したい場合は、次の手順で操作します。
- 「Shift」+「v」キーを入力して、ビジュアルモードに切り替えます。
- 「:」キーを入力します。以下のように「:’」と表示されます。
- そのまま「!」キーとシェルコマンドを入力します。
- Vimエディタの中で、シェルコマンドの結果を表示することができました。
上記の方法でシェルコマンドの結果を、通常のテキストと同様に編集することができます。
画面分割してコマンドを実行する方法
Vimの画面を分割させて外部コマンドを実行したい場合は、次のコマンドを実行します。
:terminal
または
:term
コマンドを実行すると、コマンドラインとVimエディタの画面を分割表示することが出来ます。
通常のターミナルと同様にシェルコマンド等を実行できます。
分割した画面を切り替える
分割された画面は、以下のコマンドを利用して画面切替が可能です。
- Ctrl + w + j キー ・・・ 下のウィンドウに移動
- Ctrl + w + k キー ・・・ 上のウィンドウに移動
- Ctrl + w + : キー ・・・ Vimエディタのコマンドラインモードに切り替え
以上、Vimエディタ上でシェルコマンドを実行する方法でした。
コメント