「vim」と「nvim」で「エラー処理機能」をデバッグする方法は?

「vim」と「nvim」で「エラー処理機能」をデバッグする方法は?

長い話を短く

単に誤ったプラグインを削除するのではなく、実際の問題を解決することに興味がある場合は、エラーが発生する正確な場所vim(どのファイル?)をどのように見つけることができますか?推測するよりもエラーの起源を見つけるより良い方法がありますかnvimstrace

質問

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ログファイルでエラーメッセージと以前の疑わしいコマンドを確認してください。

おすすめ記事