長い話を短く
単に誤ったプラグインを削除するのではなく、実際の問題を解決することに興味がある場合は、エラーが発生する正確な場所vim
(どのファイル?)をどのように見つけることができますか?推測するよりもエラーの起源を見つけるより良い方法がありますかnvim
?strace
質問
vim
私はしばしば私または設定にプラグインを追加し、nvim
フック(バッファを開く、閉じる、書く)でエラーが発生することがよくあります。
"test.py" [New] 0L, 0C written
Error detected while processing function 343[12]..272:
line 8:
E716: Key not present in Dictionary: _exec
E116: Invalid arguments for function get(a:args, 'exec', a:1['_exec'])
E15: Invalid expression: get(a:args, 'exec', a:1['_exec'])
問題は、それがどこから来たのかわからないということです。私は未知のファイルの行番号を得ただけで、それは私のvim
/nvim
構成ファイルではありません。
答え1
この特定のプラグインはオブジェクト指向スタイルで書かれています。343[12]..272
の匿名(番号付き)関数を表します。辞書オブジェクト。
(最近インストールされた)プラグインがわかっている場合は、ファイル内:breakadd file */pluginname.vim
のファイルを使用して停止してから、1行ずつ~/.vimrc
ステップごと:next
に実行できます。
または、Vimセッションのフルログキャプチャを使用できますvim -V20vimlog
。 Vimを終了したら、vimlog
ログファイルでエラーメッセージと以前の疑わしいコマンドを確認してください。