我已经在VIM中安装了python模式。但我也安装了Syntastic。既然两者都做语法检查,会不会有冲突?如何关闭 Python 文件的 Syntastic?
感谢您的任何帮助
要扩展@abjuk的答案,您可以根据文件扩展名禁用:
let g:syntastic_ignore_files = ['.py$']
不过,这仅适用于以 .py
结尾的文件。它不适用于 Vim 认为filetype=python
的其他文件。例如,以类似 #!/usr/bin/env python
的 shebang 开头的文件仍将 Vim 置于 python 模式。
Syntastic 还支持syntastic_mode_map
(见:h syntastic_mode_map
),文档似乎表明应该允许根据文件类型禁用,但我无法让它工作。
另一种选择是启用 Syntastic,并禁用 python-mode 的语法检查:
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中工作,所以我不能告诉你是否会有冲突,但你可以关闭python文件的Syntastic - 见:h syntastic_ignore_files
。
我使用以下命令为文件类型为 python 的 Vim 缓冲区禁用合成(不让合成触发文件写入):
autocmd FileType python let g:syntastic_check_on_wq = 0
请参阅我的 .vimrc。