Vim Syntastic和Python模式结合在一起?
我已经在VIM中安装了python模式。但我也安装了Syntastic。既然两者都进行语法检查,是否会有冲突?如何关闭Python文件的SyntasticVim Syntastic和Python模式结合在一起?,vim,python-mode,syntastic,Vim,Python Mode,Syntastic,我已经在VIM中安装了python模式。但我也安装了Syntastic。既然两者都进行语法检查,是否会有冲突?如何关闭Python文件的Syntastic 感谢您的帮助,我不使用python,所以我无法告诉您是否会发生冲突,但您可以关闭python文件的Syntastic-请参阅:h Syntastic_ignore_files要扩展@abjuk的答案,您可以使用以下基于文件扩展名禁用: let g:syntastic_ignore_files = ['\.py$'] 但这仅适用于以.py结尾
感谢您的帮助,我不使用python,所以我无法告诉您是否会发生冲突,但您可以关闭python文件的Syntastic-请参阅
:h Syntastic_ignore_files
要扩展@abjuk的答案,您可以使用以下基于文件扩展名禁用:
let g:syntastic_ignore_files = ['\.py$']
但这仅适用于以.py
结尾的文件。对于Vim认为filetype=python
的其他文件,它不起作用。例如,以shebang开头的文件,如#/usr/bin/env-python
仍将Vim置于python模式
Syntastic还支持Syntastic\u mode\u map
(请参见:h Syntastic\u mode\u map
),文档似乎指出,这应该允许基于文件类型禁用,但我无法使其工作
另一个选项是保持Syntastic处于启用状态,并禁用python模式的语法检查:
let g:pymode_lint = 0
这就是我使用的,因为我更喜欢Syntastic。它解决了冲突,尽管这并不完全是您所要求的。我使用以下命令来禁用文件类型为python的Vim缓冲区的syntastic(不允许在文件写入时触发syntastic):
autocmd FileType python let g:syntastic_check_on_wq = 0
请参阅我的。手册中对此进行了回答(请参阅
:help syntastic pymode
):
Syntastic可以与“python模式”Vim插件一起使用(请参阅)。但是,当您将缓冲区保存到磁盘时,默认情况下它们都会运行语法检查,这可能不是您想要的。为了避免两个插件都打开错误窗口,您可以在syntastic中为python设置被动模式(请参见syntastic\u mode\u map
),或者通过将pymode\u lint\u on\u write
设置为0,在“python模式”中禁用lint检查。例如:
好的,听起来是个好主意。这样做更安全,因为Python模式应该执行语法检查。另一个问题是Syntastic在我的java或C代码中没有检测到任何错误——或者当它检测到错误时,这完全是胡说八道。它将编译的正确代码标记为无效,并且不会检测到语法无效的代码。有什么想法吗?
let g:pymode_lint_on_write = 0