【问题标题】:enable checking for scons in syntastic启用在语法中检查 scons
【发布时间】:2015-06-04 08:53:22
【问题描述】:

我想在 vim + syntastic 中激活检查 scons 文件。

我的 .vimrc 包括:

    au BufNewFile,BufRead SCons* set filetype=scons
    let g:syntastic_scons_checkers = ['flake8']

打开一个 scons 文件和 :SyntasticInfo

    Syntastic version: 3.6.0-86 (Vim 704, Linux)
    Info for filetype: scons
    Global mode: active
    Filetype scons is active
    The current file will be checked automatically
    Available checkers: -
    Currently enabled checkers: -

这里的检查器不是listet。怎么激活?

备注:flake8 适用于 python 文件。

【问题讨论】:

    标签: vim scons syntastic


    【解决方案1】:

    scons 文件类型设为python 的别名:

    let g:syntastic_filetype_map = { 'scons': 'python' }
    

    编辑:同时添加autocmd

    autocmd BufNewFile,BufRead SCons* let b:syntastic_checkers=['flake8']
    

    【讨论】:

    • 这不是我真正要寻找的。我想为 python 和 scons 激活不同的检查器。
    • 那么除了上面设置的au BufNewFile,BufRead SCons* let b:syntastic_checkers=['flake8'](或其他)。
    • 好的,谢谢!我觉得这有点古怪,g:syntastic_scons_checkers 有什么问题?
    • 问题是g: 变量是全局的。总有一天,您会想要在同一会话中同时编辑 sconspython 文件。
    • 我不明白你的意思。在我的设置中,我可以同时编辑这两种类型,因为它们有不同的filetypes。我不明白为什么我可以将g:syntastic_python_checkers 用于python 文件,但不能将g:syntastic_scons_checkers 用于scons 文件。
    【解决方案2】:

    我只是将 SCons 文件类型设置为加载时的 python,并且与您所拥有的类似。然后它对我有用。

    " Display scons files with python syntax
    autocmd BufReadPre,BufNewFile SConstruct set filetype=python
    autocmd BufReadPre,BufNewFile SConscript set filetype=python
    

    另一个可能会让你挂掉的问题......如果你的.vimrc 中有一个 sn-p 像这样......

    au BufWinLeave * silent! mkview
    au BufWinEnter * silent! loadview
    

    然后您需要删除您尝试打开的文件的视图文件,然后它才会在文件打开时设置正确的文件类型。

    【讨论】:

    • 这不是我真正要寻找的。我想为 python 和 scons 激活不同的检查器(和语法),因此我想要 filetype=scons。而且我不使用视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    相关资源
    最近更新 更多