neovimの統合されたterminal emulatorの使い方
neovim(nvim)のterminal emulator(ターミナルエミュレータ, 組み込みターミナルエミュレータ)とは、neovimに統合されたターミナルです。 :terminal で呼び出すことができます。
読み方
- terminal emulator
- たーみなる えみゅれーた
目次
概要
vimとneovimを明確に区別する特徴の1つが、だいたい完全な VT220/xterm ライクなターミナルエミュレータ(以下、ターミナルと略)です。ターミナルは、ユーザに特別なバッファタイプとして提供されます。ターミナルは、非同期に実行されます。この実装は、 libvterm で実現されています。
neovimのターミナルのなにがうれしいのか?
UnixやMacのターミナルには、画面分割機能を持っているソフトウェアが提供されています。仮想端末マルチプレクサのtmuxも同様に画面分割機能をもっています。
neovimがターミナルエミュレータの機能を持つことで、作業が neovim の世界で完結できます。neovimの世界で完結する、ということは、neovim だけのキーバインドだけで完結するということです。 つまり、端末ソフトウェアのキーバインドが ホゲホゲ だから、 tmux のバインドが ホゲホゲ だから、と考える必要はありません(慣れていれば、体が勝手に動いていますが)。
neovim内のできごとであれば、コピペも簡単です。同じキーバインドで、コピーもペーストもできます。
プログラムを開発中に、エディタ を C-z (中断)して make の結果を待つような使い方をする必要はありません。
それが、すべて、neovim の中でできるのです。
neovimのビルトインのターミナルエミュレータの起動
neovimのターミナルエミュレータの起動は簡単です。
:terminal
だけで、起動します。
ターミナルのコマンドモードとターミナルモードの切り替え
ターミナルからほかのneovimのウィンドウに移りたいときに、ターミナルモードからコマンドモードに移行します。
ちょうど、vi で言う、インサートモードからコマンドモードに移る感覚と同じです。
目的 | キーバインド |
---|---|
ターミナルモードになる | ターミナルで i |
コマンドモードに戻る | C-\-n |
キーバインド
ウィンドウ間の移動は、コマンドモードであれば、ただのウィンドウと同じであるため、違和感なく行き来できます。
目的 | キーバインド |
---|---|
右へ | C-w C-l |
左 | C-w C-h |
上 | C-w C-k |
下 | C-w C-j |
まとめ
- :terminal で neovim の組み込みターミナルエミュレータを起動できます。
- C-\ C-n でターミナルモードからコマンドモードに移行できます。
- コマンドモードからターミナルモードは、 i で移行できます。
- neovimのターミナルエミュレータは、neovim のキーバインドで操作できるため、ほかのターミナルソフトウェアやターミナルマルチプレクサのキーバインドを覚える必要もありませんし、操作を混在させる必要もありません。テキストのコピペも簡単です。
- Let's neovim terminal emulator!
関連項目
ツイート