🏖️

NeovimでLazyGitをフロートウィンドウで呼び出す【toggleterm.nvim】

に公開

こんにちは。最近はNeovimの環境構築にハマっていて、気がつけばかなりの時間を溶かしています(肝心のVim操作はまだまだですが…)。

今回は、LazyGitNeovim上で <Ctrl-\> 一発でフロートウィンドウとして起動できるように設定 してみました↓↓↓

この機能の実現には、Neovimのターミナル管理プラグインの toggleterm.nvim を使います。

https://github.com/akinsho/toggleterm.nvim

toggleterm.nvimとは?

toggleterm.nvim は、Neovim内でターミナルを簡単に開閉できるプラグインです。ウィンドウの分割表示はもちろん、フロート表示にも対応しており、今回は かっこよさそうだという理由で フロート表示を採用しました。
ウィンドウの分割表示については、WezTermの機能を使えばいいや、と思って今回は設定していません(でもVSCodeのターミナルみたいにNeovimの下部にターミナルを出せるように設定するのもありかも)。

設定方法

私はlazy.nvimを使用しており、以下のような設定にしています:

return {
  'akinsho/toggleterm.nvim',
  version = '*',
  config = function()
    require('toggleterm').setup()
    local Terminal = require('toggleterm.terminal').Terminal
    local lazygit = Terminal:new {
      cmd = 'lazygit',
      direction = 'float',
      hidden = true,
    }
    vim.keymap.set({ 'n', 't' }, '<C-\\>', function()
      lazygit:toggle()
    end, { desc = 'Toggle Lazygit (float)' })
  end,
}

この設定にすると、Neovim上で <Ctrl-\> を押すだけでLazyGitがフロートウィンドウで起動します。再度押せば閉じます。

まとめ

toggleterm.nvim × LazyGit の組み合わせによって、別タブに切り替えることなく Neovim 上で快適に Git 操作が可能になりました。

他にも良い設定やおすすめのプラグイン等ありましたらコメントで教えていただけると幸いです。

Discussion