nvimでオススメのプラグイン
最近vimからneovimに乗り換え気味なのですが、その原因となっているプラグインを紹介します。
基本的にnvimでしか出来ないものは無いのですが、自分で作らなくても仕組みを用意してくれているものがたくさんあるので今回はそのあたりを紹介したいと思います。
特に有名なtelescopeやtreesitter等の全員が使ってそうなものは紹介しません。(主観)
また、色系のものは除外しています。
1. mbbill/undotree
vimにはundoやredo機能がありますが、それを管理しやすくするツールです。
nvimでファイルを色々編集して終了したあとでも再度開けばundo可能です。
また、可視化も優秀で操作も直感的なのでオススメです。(キャプチャが微妙)
特に特別な設定はしていませんがToggleを設定しておくと使いやすいです
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
2. NeogitOrg/neogit
git管理が超かんたんになる神ツールです。
nvimから抜けたりターミナルを開いて操作しなくてもぱぱっと確認しながらpushまで出来てしまいます。
ついでにDiffを見たりLogを見たりもできてとても凄いです。
3. sindrets/diffview.nvim
こちらもgit系のツールです。
変更点をツリーの一覧でかんたんに確認できて素晴らしい。
一覧で見る機能はtelescopeのgit_status
でも実現できますが、編集できるのがいいです。
4. akinsho/toggleterm.nvim
今回紹介するプラグインの中でも群を抜いて一番おすすめしたいものです。
これはもはやnvimという枠を超えたツールだと言えます。(過言)
このツールはtui系ツールと連携させると化学反応が起きます。
例えばdockerを扱えるtuiを例に見てみます。
このようにtuiをnvimのプラグインかのように起動できてしまいます。神。
ただし注意点としてnvimを通す分動作がモッサリします。便利なので目を瞑っています。
今回の例とさせていただいたtuiです。すごい。(あとbrewのほう使えるようにしてほしいです)
設定例です
local Terminal = require("toggleterm.terminal").Terminal local docui = Terminal:new({ cmd = "docui", direction = "float", hidden = true }) function _docui_toggle() docui:toggle() end vim.api.nvim_set_keymap("n", "<leader>do", "<cmd>lua _docui_toggle()<CR>", { noremap = true, silent = true })
おわりに
nvimへの乗り換えが現実味を帯びてきました。