Vimのterminal機能が便利すぎる。
ふと、下記のSoftware Designを読んでいたところ、、、Vimの細道という連載でterminalという機能が追加されたらしく、Vimのウィンドウ内で端末が利用できるようになったとのこと。。。
面白そうなので早速使ってみました。
●Software Design2018年1月号
特集が面白そうなので買いました。シェルスクリプトが上手く書けないという方は参考になるかもしれません。
シェルスクリプトによるWebスクレイピングについても簡単に例示されているので分かりやすかったです。
ビルド
Ubuntu18.04以降ではビルドは不要です。
terminal機能は2018に実装された機能なので、基本的にビルドが必要です。configureのオプションに
--enable-terminal
を追加してください。
詳しい手順は【Ubuntu】Vimをビルドする手順を参照してください。
使い方
コマンドモードから起動します。
:terminal
と入力すれば使えます。
実行すると下記のようにウィンドウが分割されてコマンドを実行できるようになります。
コマンド
詳しい使い方はマニュアルを見ましょう。とりあえず使う分には下記のコマンドを覚えればいいと思います。
機能 | コマンド |
ウィンドウの切り替え | Ctrl+w Ctrl+w |
Exコマンドを使う | Ctrl+w : |
ウィンドウを閉じる。 ※ジョブ実行中は不可 | Ctrl+w :quit |
Terminal Normalモードに移行 | Ctrl+w N またはCtrl+\ Ctrl+n |
ジョブを停止する | Ctrl+w Ctrl+c |
Terminal Jobモードに戻る | iやaなど、挿入モードに入る操作 |
現在カーソルがあるウィンドウと1つ前のウィンドウを入れ替える。 | Ctrl+w x |
★TerminalNormalモード
Vimのノーマルモードの操作ができるようになり、出力結果のコピー等が行えます。
左右に分割したい場合
:vterminalは無いようなので画面は上下分割だけのようです。
下記の操作を行うと左右分割でterminal機能を使えます。(++curwinは現在のWindowで端末を開くオプションです。)
:vs
:terminal ++curwin
使い心地
!コマンドでも実行できましたが、さらに便利になりました。今までは同じことをしたかったら、SSHクライアントを2つ接続していたのですが、それが不要になりVim上で行うことができるようになりました。