vim-lspの定義ジャンプがいい感じなので<C-]>
キーを上書きして使っているのだが、vimのhelpを見る際などに<C-]>
が動作しなくて不便なことがある。
方針としてはまず:LspDefinition
を実行してみて失敗したら本来のvimの定義ジャンプを呼び出すようなキーバインドを登録したい。
本質的にはvim-lspに限らず他のプラグインでも同様にできるはず。
nnoremap <expr> <silent> <C-]> execute(':LspDefinition') =~ "not supported" ? "\<C-]>" : ":echo<cr>"
エラーメッセージをマッチさせるという、かなりアドホックなやり方だが現時点ではちゃんと動く。
vim-lspの仕様が変われば動かなくなるかもしれない。
2021/09/07追記:
上の方法だと定義が新しいwindowで開かれてしまうので下の方法のほうが良いかもしれない。
nnoremap <expr> <C-]> execute('LspPeekDefinition') =~ "not supported" ? "\<C-]>" : ":LspDefinition<cr>"
一度LspPeekDefinition
を実行してみて大丈夫そうならLspDefinition
を実行する。