変数が最後に割り当てられた場所をどのようにして見つけますか?


11

設定しようg:netrw_list_hideとしていますが、動作しないようです。私が何に設定したとしても、.vimrc常に価値があります,^\.\.\=/\=$。私がvimrc再びファイルを入手した場合にのみ、正しい値が保持されます。

これをデバッグするにはどうすればよいですか?その変数を設定しているプラ​​グインがあると思いますか?おそらくvimrcロードされた後で、それがどこに設定されているのかを見たいのです。


2
:vim netrw_list_hide **/*
romainl 2016

3
現在、ソースを手動で検査することを除いて、実際には不可能です。これを可能にするこのPRを作成しました。
Christian Brabandt 16

この場合、冗長コマンドは役に立ちませんか?
SibiCoder 2016

回答:


11

Vimセッションの完全なログをでキャプチャできますvim -V20vimlog。Vimを終了した後grep、のvimlogログファイルを調べます(検索):let g:netrw_list_hide


15

(変数ではなく)オプションが設定された最後のポイントを探している場合は、:verbose次のコマンドを使用できます。

:4verbose set is?
  incsearch
        Last set from ~/.vim/vimrc

しかし現在、変数に対応するコマンドはありません。

あなたはコードを検査、または可能性使用して、ソースで検索を使用することができ:vimgrep:vim netrw_list_hide **/*(コメントで述べたように)。

別の方法は、変数を設定した後に実行されるすべてをエコーする'verbose'オプションを使用することです。画面にエコー出力される大きな出力になるので、それを(たとえばレジスターに)保存する必要があります

" in your .vimrc, after you set the variable
redir @b
set verbose=15

初期化が終了したら、詳細をデフォルト値に戻し、リダイレクトを停止します。

:set vbs&
:redir end

使用しているautocmds / pluginsによっては、Ctrl-Cを数回押す必要がある場合があります。

次に"bp、「初期化ログ」を使用してレジスタの内容を貼り付け、分析できます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.