🚨

Neovimでautocmdイベント発生を可視化する

2022/07/30に公開

Neovimではautocmdを使うことで様々な処理を自動で行うことができます。

https://neovim.io/doc/user/autocmd.html

このautocmdの設定補助のため、「発生したイベント」と「イベント発生時のカレントの対象」を表示するautocmdを作ってみました。

以下のコードをinit.vimに記述(またはコマンドラインから順次実行)してください。

autocmd BufRead * lua vim.notify('BufRead ' .. vim.fn.expand('%'))
autocmd BufEnter * lua vim.notify('BufEnter ' .. vim.fn.expand('%'))
autocmd WinEnter * lua vim.notify('WinEnter ' .. vim.fn.winnr())

非同期で通知を表示させたいので、nvim-notifyをインストールしてください。

https://github.com/rcarriga/nvim-notify

これで、以下のように各イベントの発生タイミングを可視化できます。

ここでは例としてBufRead BufEnter WinEnterの3つを登録していますが、もちろん別のイベントにも適用できます。
また、必要に応じ、表示する情報を変更することもできます(winnr()の代わりにwin_getid()を使用するなど)。

autocmdイベントの発生タイミングの確認などにご利用ください。

Discussion