Vimtex变量被认为是未定义的(因此我无法更改它们)

Vimtex变量被认为是未定义的(因此我无法更改它们),vim,Vim,我正在使用插件管理器的插件来编辑LaTex文件。我试图禁用vimrc中的回调功能,因此每当我打开.tex文件时,我都不会收到关于它的警告,所以我让g:vimtex_compiler_latexmk.Callback=0,但我得到一个错误,即g:vimtex_compiler_latexmk是一个未定义的变量 尝试:echo g:vimtex_编译器_latexmk给出相同的错误消息 我似乎可以更改甚至查看的唯一变量是g:vimtex_enabled,因此如果我想让g:vimtex_enabled

我正在使用插件管理器的插件来编辑LaTex文件。我试图禁用vimrc中的回调功能,因此每当我打开.tex文件时,我都不会收到关于它的警告,所以我让g:vimtex_compiler_latexmk.Callback=0,但我得到一个错误,即g:vimtex_compiler_latexmk是一个未定义的变量

尝试:echo g:vimtex_编译器_latexmk给出相同的错误消息

我似乎可以更改甚至查看的唯一变量是g:vimtex_enabled,因此如果我想让g:vimtex_enabled=0,我可以这样做并完全禁用vimtex

你知道我为什么和我能做些什么来解决这个问题吗?尽管如此,Vimtex在其他方面的工作还是完美无缺的


我正在Linux Mint 18上运行VIM 7.4。

VIM不允许您初始化这样的字典变量。g:vimtex_compiler_latexmk没有默认值,因此首先必须将其初始化为字典:

let g:vimtex_compiler_latexmk = {}
let g:vimtex_compiler_latexmk.callback = 0
或者立即初始化并分配:

let g:vimtex_compiler_latexmk = {'callback': 0}
无论哪种方式,初始化后,都可以使用。访问器快捷方式

您只看到g:vimtex_启用的原因是,当您访问.tex文件时,vimtex会自动加载。加载一个,您将看到更多的变量。不过,您仍然看不到g:vimtex\u compiler\u latexmk,因为除非您设置一个值,否则它没有任何值


我怀疑您在vimrc中指定了g:vimtex_enabled,这就是为什么即使没有加载LaTeX文件也会看到它。

谢谢。我没有想到字典还没有初始化。这绝对是我将来会记住的事情。