据说Vimtex变量是未定义的(所以我无法改变它们)

时间:2017-11-04 03:17:37

标签: vim

我使用vimtex插件和vim-plug插件管理器来编辑LaTex文件。我试图在我的vimrc中禁用回调功能(所以每当我打开.tex文件时都会停止收到有关它的警告),所以我let g:vimtex_compiler_latexmk.callback = 0,但是我收到错误说g:vimtex_compiler_latexmk是一个未定义的变量。

尝试:echo g:vimtex_compiler_latexmk会出现相同的错误消息。

变量我似乎可以更改甚至查看g:vimtex_enabled,所以如果我想let g:vimtex_enabled = 0,我可以这样做并完全禁用vimtex。

任何想法为什么以及我可以做些什么来解决这个问题?尽管如此,Vimtex仍能完美无缺地工作。

我在Linux Mint 18上运行VIM 7.4。

1 个答案:

答案 0 :(得分:1)

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_enabled的原因是因为vimtex在您访问.tex文件时会自动加载。加载一个,你会看到更多的变量。但是,您仍然不会看到g:vimtex_compiler_latexmk,因为除非您设置了它,否则它没有任何价值。

我怀疑您在vimrc中分配了g:vimtex_enabled,这就是为什么即使没有加载LaTeX文件也能看到它的原因。