您如何找到最后分配变量的位置?


12

我正在尝试设置g:netrw_list_hide,但似乎不起作用。无论我将其设置为什么,.vimrc它始终具有价值,^\.\.\=/\=$。仅当我vimrc再次获取文件时,它才具有正确的值。

我该如何调试?我猜有一些插件正在设置该变量?可能在vimrc加载后,所以我想看看它的设置位置。


2
:vim netrw_list_hide **/*
romainl '16

3
除了手动检查源外,目前尚无法实现。我创建了此PR,这将允许这样做。
Christian Brabandt '16

在这种情况下,详细命令不会提供帮助吗?
SibiCoder '16

Answers:



16

如果要查找设置选项(而不是变量)的最后一点,则可以使用以下: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

您可能需要按Ctrl-C几次,具体取决于您使用的autocmds / plugins。

然后,您可以使用粘贴寄存器的内容"bp并分析“ 初始化日志 ”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.