Neovim上でのターミナルを水平分割で画面下方に開きたい
vimを使っていてターミナルでコマンド打ちたい時はよくあると思う。
:term(:terminal)を実行することでvim上でターミナルを起動できるのは既知だと思うが、nvimだと画面を分割して開いてくれない。
ターミナルを画面を水平分割して、かつ新たに開いたウィンドウを下に表示させる設定を記載する。
:term実行時に水平分割する
init.vimにcommandでTermというコマンドを再定義しました。
commandの仕様上、既存コマンドと混在させないよう先頭文字は大文字である必要があるため、残念ながら:termを上書くことはできませんでした。
init.vim
command -nargs=* Term split | terminal <args>
command
でコマンドの定義ができます。command!
とすることですでに同じ名前で定義されていた場合に上書きしてくれます。
-nargs=
はコマンドに渡す引数の数を指定します。
以上の設定により、:Termを実行した場合splitにより画面が水平分割され新しく表示された画面でtermが実行された状態で開かれます。
水平分割した際に新しい画面を画面下方で開く
これまでの設定では画面上方にターミナルが開かれるのですが、自分は下方に開きたいので、その設定を追加します。
init.vim
set splitbelow
これで:split
を実行した際に新しい画面が下に開いてくれます。
以上。2022年に書くようなネタではなかったですね!
参考
Neovimの`:terminal`でも,分割して開くように - ばかもりだし
Hack #158: ユーザコマンドを定義する
Hack #198: ウィンドウを開く方向を指定する