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
と打ってみよう!