termite.nvimとは
ざっくり言うと、floatターミナルを管理できるプラグインです。
ターミナルの追加・削除などを、すべてfloat上で操作できます。
公式READMEのこの文章がすべて説明しています。
Stacking float terminal manager for Neovim.
toggleterm.nvimでよくない?
Neovimのターミナルプラグインとしては、toggleterm.nvimが有名です。
toggleterm.nvimでもfloatターミナルの表示はできるのですが、termite.nvimはすべてのターミナルがひとつのfloat内で完結するのが好みでこちらを使っています。
逆に、float以外の表示も使いたい場合はtoggleterm.nvimを使うのがいいと思います。
カスタマイズ性や多機能さはtoggleterm.nvimの方が圧倒的に高いです。
設定
僕の設定を紹介します。リポジトリのREADMEを参考に、以下のように設定しています。 (プラグインマネージャーはlazy.nvimを使用)
return { { "https://github.com/ruicsh/termite.nvim", event = "VeryLazy",
-- optsでの読み込みだとなぜかkeymapsが上書きされないので、configで設定 config = function() -- <C-t>をターミナル専用のLeaderキーとして設定 local leader = "<C-t>"
require("termite").setup({ position = "bottom", -- 下部にターミナルを表示 keymaps = { toggle = leader .. "t", create = leader .. "c", next = leader .. "]", prev = leader .. "[", normal_mode = false, focus_editor = false, maximize = leader .. "m", close = "q", }, }) end, keys = { { "<C-t>t", desc = "[t]oggle terminals", mode = { "n", "t" } }, { "<C-t>c", desc = "[c]reate terminal", mode = { "n", "t" } }, { "<C-t>]", desc = "Next terminal", mode = { "t" } }, { "<C-t>[", desc = "Previous terminal", mode = { "t" } }, { "<C-t>m", desc = "[m]aximize terminal", mode = { "t" } }, }, },}