Wie finden Sie heraus, wo zuletzt eine Variable zugewiesen wurde?

11

Ich versuche zu setzen g:netrw_list_hideund es scheint nicht zu funktionieren. Egal, auf was ich es in meinem eingestellt habe, .vimrces hat immer den Wert ,^\.\.\=/\=$. Nur wenn ich meine vimrcDatei erneut beschaffe, enthält sie den richtigen Wert.

Wie debugge ich das? Ich denke, es gibt ein Plugin, das diese Variable setzt? Möglicherweise nachdem mein vimrcgeladen wurde, also möchte ich sehen, wo es eingestellt wird.

Cezar
quelle
2
:vim netrw_list_hide **/*
Romainl
3
Derzeit nicht wirklich möglich, abgesehen von der manuellen Überprüfung der Quelle. Ich habe diese PR erstellt, die dies ermöglichen würde.
Christian Brabandt
Wird in diesem Fall keine ausführliche Befehlshilfe angezeigt?
SibiCoder

Antworten:

11

Sie können ein vollständiges Protokoll einer Vim-Sitzung mit erfassen vim -V20vimlog. Überprüfen Sie nach dem Beenden von Vim grepdie vimlogProtokolldatei auf :let g:netrw_list_hide.

Ingo Karkat
quelle
14

Wenn Sie nach dem letzten Punkt suchen, an dem eine Option festgelegt wurde (anstelle einer Variablen), können Sie den folgenden :verboseBefehl verwenden:

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

Derzeit gibt es jedoch keinen entsprechenden Befehl für Variablen.

Sie könnten den Code, oder verwenden Sie die Suche in der Quelle überprüfen, möglicherweise unter Verwendung :vimgrep, :vim netrw_list_hide **/*(wie in den Kommentaren erwähnt).

Eine andere Alternative besteht darin, die 'verbose'Option zu verwenden, um alles wiederzugeben, was ausgeführt wird, nachdem Sie die Variable festgelegt haben. Da es sich um eine große Ausgabe handelt, die auf dem Bildschirm wiedergegeben wird, müssen Sie sie speichern (z. B. in einem Register):

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

Stellen Sie nach Abschluss der Initialisierung die ausführliche Version wieder her und beenden Sie die Umleitung:

:set vbs&
:redir end

Abhängig von den verwendeten Autocmds / Plugins müssen Sie möglicherweise einige Male Strg-C drücken.

Anschließend können Sie den Inhalt des Registers mithilfe "bpdes " Initialisierungsprotokolls " einfügen und analysieren .

mMontu
quelle