はじめに
こんにちわ。ゴリラです。
去年にVimにpopup windowの機能が入ってから、筆者はそれらを使っていくつかプラグインを作りました。
popup windowは通常にバッファと同じなのですが、いくつか制限がありました。その一つはterminalを使えないところです。(そもそもカーソルの操作ができない)
しかし、先日このコミットが入ったことで、popup windowでもターミナルを使えるようになりました。
軽くやり方について説明していきます。なお、筆者の環境は次になります。
❯❯❯ vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Feb 4 2020 20:59:42)
Included patches: 1-205
(省略)
やり方
以下のコマンドラインで実行してみてください。
:command! Terminal call popup_create(term_start([&shell], #{ hidden:1, term_finish:'close'}), #{ border:[], minwidth: winwidth(0)/2, minheight: &lines/2})
そうすると画像のようにpopup windowでターミナルが使えるようになります。
exit
とかでターミナルを終了するとpopup windowも閉じるようになっていますが、これはterm_finish
でclose
を設定しているからです。term_finish
を設定しないとpopup windowは閉じず、カーソルはpopup windows内に囚われます。これを聞いて不安になったあなた、大丈夫です、ちゃんと:q
で閉じれますよ。
コマンドを作っておく
こんな長いコマンド打ちたくないと思うので、vimrcにコマンドを定義しておきましょう。
筆者はとりあえず雑にこんな感じで定義しました。
command! Terminal call popup_create(term_start([&shell], #{ hidden:1, term_finish:'close'}), #{ border:[], minwidth: winwidth(0)/2, minheight: &lines/2})
最後に
Vimどんどん進化していますね。Vim script 9も来たしこれからも楽しみです