VimではじめるTerminalモード

terminalモードとは?

:terminal で始まる新しいモード

世の中の多くのエディタがモードはインサートモード一つで十分と証明しつつあるなか追加された2つのモード

vim8.1 から搭載されたエディタとコマンドの夢の懸け橋

注: vim8だとバグるそうです

何ができるの?

1. コマンドの出力結果をコピーできる!

terminalウィンドウで Ctrl-w N でterminalの内容をテキストとして扱える(編集不可)

このモードを 端末ノーマルモード と呼ぶ!

端末ノーマルモードでは普段と同じ操作でterminalウインドウの内容をコピーできる!便利!

2. 端末ノーマルモードからの脱出

端末ノーマルモードを終了するには i a などインサートモードに入るコマンドを打つだけ

このモードを 端末ジョブモード と呼ぶ!

3. エディタで加工した内容をterminalにペーストできる!

端末ノーマルモードやエディタウインドウでコピー(yank)した内容は端末ジョブモードで Ctrl-w "" でペーストできる!便利!

"" は無名レジスタ、aレジスタならCtrl-w "a (使いこなせていない)

便利なショートカット

:term と打つのもだるいという方向け

nnoremap sh :belowright :terminal<CR>

ノーマルモードで sh と打てばターミナルが開く!

こだわり派のあなたは bash なり zsh に変えても可

端末ノーマルモードになるには Ctrl-w n だっけ? Ctrl-w N (大文字)だっけ?となる方向け

tnoremap <C-Q> <C-W>N

これを追加すれば Ctrl-q で素早く端末ノーマルモードへ移行可能!

無名レジスタとかよくわかりませんという方向け

tnoremap <C-T> <C-W>""

Ctrl-t で無名レジスタをペースト

疑問質問

:h term と打ってみよう!

関連記事

Asciinemaで華麗に端末操作を共有する

Vim部活動日誌

vimでちょっとしたワードを調べる時に使うアレ5つ

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

関連する記事

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ