我在VIM中安装了python-mode。但我也安装了Syntastic。由于两者都进行语法检查,是否会发生冲突?我如何关闭针对Python文件的Syntastic?
感谢任何帮助。
我在VIM中安装了python-mode。但我也安装了Syntastic。由于两者都进行语法检查,是否会发生冲突?我如何关闭针对Python文件的Syntastic?
感谢任何帮助。
在 @abjuk 的回答上进行扩展,您可以通过以下方式禁用特定文件类型:
let g:syntastic_ignore_files = ['\.py$']
这仅适用于以.py
结尾的文件。对于Vim认为filetype=python
的其他文件则不起作用。例如,以shebang开头的文件,如#!/usr/bin/env python
,仍会将Vim置于python模式。syntastic_mode_map
(参见:h syntastic_mode_map
),文档似乎表明它应该允许基于文件类型禁用语法检查,但我无法使其正常工作。let g:pymode_lint = 0
这是我使用的,因为我更喜欢Syntastic。它解决了冲突,尽管不完全符合您的要求。
这个问题在手册中已经有所说明(参见:help syntastic-pymode
):
Syntastic可以与“python-mode”Vim插件一起使用(详见https://github.com/klen/python-mode)。然而,默认情况下,它们两个都会在将缓冲区保存到磁盘时运行语法检查,这可能不是你想要的。为了避免两个插件都打开错误窗口,你可以在Syntastic中为python设置被动模式(请参阅
syntastic_mode_map
),或者通过将pymode_lint_on_write
设置为0来禁用“python-mode”的lint检查。例如:
let g:pymode_lint_on_write = 0
我不从事Python工作,所以无法告诉您是否会有冲突,但是您可以关闭Syntastic对Python文件的检查-请参见:h syntastic_ignore_files
。
autocmd FileType python let g:syntastic_check_on_wq = 0
看看我的.vimrc文件。