如何为vim设置Syntastic?

8
我将代码库git克隆到~/.vim/bundle,并安装了pathogen。我可以确信pathogen工作正常,因为我的bundle中的其他插件都能正常工作。在浏览一段时间后,似乎syntastic应该对C代码开箱即用。我还检查了是否具有syntastic/syntax_checkers/c/指定的所有可执行文件。
以下是我的.vimrc文件的一部分:
" syntastic
let g:syntastic_auto_loc_list=1
let g:syntastic_disabled_filetypes=['html']
let g:syntastic_enable_signs=1

当我打开一个*.c文件并执行:SyntasticCheck时,什么都没有发生。没有错误提示命令未找到,因此syntastic已加载。然而,即使当前打开的*.c文件包含语法错误,syntastic也不显示任何内容。
这是我第一次使用syntastic,所以我不知道正确的调用方式。
我还尝试了:SyntasticCheck [c],但是我收到以下错误消息:
Error detected while processing function <SNR>_22_UpdateErrors..<SNR>22_CacheErrors:
line 16:
E121: Undefined variable: checkers
E15: Invalid expression: checkers

有人能告诉我我做错了什么,如何调用Syntastic吗? 谢谢!

4个回答

7

尝试将以下内容添加到您的vimrc文件中:

let g:syntastic_check_on_open=1
let g:syntastic_enable_signs=1

(以下内容直接摘自我的vimrc文件,如果您需要其他Syntastic设置,请查看文件)


3

我不太清楚原因,但当我使用./install.sh --clang-completer重新安装vim的YouCompleteMe插件时,Syntastic可以完美运行。


1
据我所知,YouCompleteMe和Syntastic有些重叠的功能。您可以查看YCM的文档以了解可能的不兼容性。 - romainl

0

安装clang和/或ctags软件包解决了我的问题


0
我做了两件事情,然后Syntastic在JS文件和ESlint上开始按预期工作。不能确定哪个是起作用的:
1- 在项目目录中运行eslint --init
2- 打开文件时不使用-S标志启动vim。
之前它默默失败,没有错误和诊断。这就是ESlint在没有配置文件时的行为。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接