vim/vimrc:如何找到';他失败了

vim/vimrc:如何找到';他失败了,vim,vundle,ensime,Vim,Vundle,Ensime,启动vim时,会打印以下错误: $ vim -V9foo.log Error detected while processing function <SNR>14_DependenciesValid: line 12: Traceback (most recent call last): File "<string>", line 6, in <module> AttributeError: 'module' object has no attribu

启动vim时,会打印以下错误:

$ vim -V9foo.log
Error detected while processing function <SNR>14_DependenciesValid:
line   12:
Traceback (most recent call last):
  File "<string>", line 6, in <module>
AttributeError: 'module' object has no attribute 'vars'
Press ENTER or type command to continue
我运行的是Ubuntu12.04LTS(不,目前还不能升级)


14_DependenciesValid
中的
14
指的是与
:scriptnames
一起列出的脚本编号
14
中的
14
指的是与
:scriptnames

一起列出的脚本编号。我最后调试了这个脚本

首先,我依次对每个插件进行注释,直到找到导致错误的插件。是我,维姆

其次,我在插件的源代码中添加了文本“vars”,这是它试图从某个模块读取/写入的变量名

我找到了一些参考资料,把它们都查了一遍,弄清楚它们的名字在哪里。 事实证明,最近对ensime vim插件所做的更改类似于:

import vim
vim.vars['some_global_name'] = 1
vim 7.3中的“vim”模块不包含“vars”成员,因此该模块失败

Python在这方面可能会更有帮助。它说“module”没有名为“vars”的成员,但没有告诉我该模块的名称。它可能知道。 此外,Python只是说“string”是错误的位置——它可以逐字打印字符串中的行,以帮助跟踪问题

另外,Vim在这方面可能更有帮助。它可以知道哪个.vim文件包含出错的Python代码,并且可以打印定义出错Python的文件/行


事实证明,-D和-V9(在我被Meninx告知-V13之前,这是互联网上的一般建议)都没有那么大的帮助:-(

我终于调试了这个

首先,我依次对每个插件进行注释,直到找到导致错误的插件。它是ensime vim

其次,我在插件的源代码中添加了文本“vars”,这是它试图从某个模块读取/写入的变量名

我找到了一些参考资料,把它们都查了一遍,弄清楚它们的名字在哪里。 事实证明,最近对ensime vim插件所做的更改类似于:

import vim
vim.vars['some_global_name'] = 1
vim 7.3中的“vim”模块不包含“vars”成员,因此该模块失败

Python在这方面可能更有用。它说“模块”没有名为“vars”的成员,但它没有告诉我模块的名称。它可能知道。 此外,Python只是说“string”是错误的位置——它可以逐字打印字符串中的行,以帮助跟踪问题

另外,Vim对此可能更有帮助。它可以知道哪个.Vim文件包含出错的Python代码,并且可以打印定义出错Python的文件/行


事实证明,无论是-D还是-V9(在我被Meninx告知-V13之前,这是互联网上的一般建议)都没有那么大的帮助:-(

错误打印在终端上,因为它与执行时脚本中的外部命令有关。请尝试使用
-V13
记录错误和异常处理。因此,您实际上找到了bundle=plugin。如果您在疑难解答方面有问题,请向插件作者寻求帮助/更好的疑难解答工具/a fix、 错误会打印在trrminal上,因为它在执行时与脚本中的外部命令有关。请尝试使用
-V13
记录错误和异常处理。因此,您实际上找到了bundle=plugin。如果您在疑难解答方面有问题,请向插件作者寻求帮助/更好的疑难解答工具/a fix.T这非常有帮助!谢谢。如果vim能告诉我是哪个vim文件导致脚本运行失败,以及理想情况下在脚本中定义失败文本的位置,我认为这将更加有用。这非常有帮助!谢谢。如果vim能告诉我是哪个vim文件导致脚本运行失败,我认为这将更加有用,例如d理想情况下,在脚本中定义失败文本的位置。
import vim
vim.vars['some_global_name'] = 1