【问题标题】:VIM coding error underline with syntasticVIM 编码错误带有合成下划线
【发布时间】:2016-02-29 08:16:15
【问题描述】:

我对 VIM 有点陌生,我还在学习它。我想在大多数 IDE 中实现类似的东西,让 VIM 用某种颜色(例如红色)强调我的错误。

我发现合成器,因为每个人都推荐它。我安装了它,我猜它“正常”工作,但我没有看到任何错误突出显示,也没有下划线。我的 .vimrc 中有“默认设置”的东西:

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 0
let g:syntastic_check_on_wq = 0

我也加了

let g:syntastic_enable_signs=1

仍然没有突出显示,错误也没有下划线。我通常用 python 编码,所以这就是我想看到的:

class some_calass(self)
    self.somevar = 0

高亮/下划线“类”行,因为我忘记了最后的“:”。

如果我使用

:SyntasticCheck

我在一个新的拆分选项卡中获得了带有相应错误的普通 Syntastic 窗口,并且左侧弹出了一个“标尺”,错误处带有红色“>>”标记,但是我想避免它们,这就是为什么我关掉了

let g:syntastic_check_on_open = 0

选项。我只希望始终在错误上使用高亮/下划线功能。

感谢您的帮助!

【问题讨论】:

    标签: vim syntastic


    【解决方案1】:

    错误出现在class 行的末尾,并且语法在右括号后突出显示了单个字符。如果您想突出显示整行,您可以执行以下操作:

    highlight link SyntasticErrorLine error
    highlight link SyntasticWarningLine todo
    

    Syntastic 不关心文件的内容,只有外部检查器才关心。并非所有这些检查器都为 syntastic 返回足够的信息来以有意义的方式突出显示错误,即使它们这样做了,syntastic 也不知道如何解析所有可能相关的信息。大多数情况下,syntastic 只会像上面那样突出显示单个字符,或者根本不突出显示。如果您愿意,您可以使标志(即,装订线边缘的东西)突出显示它们所在的行,这是 Vim 的一个功能,但这不会使有关错误的信息比 syntastic 更精确它。

    请参阅 :h syntastic-error-signs:h syntastic-highlighting 了解您可以调整的详细信息。

    【讨论】:

    • 非常感谢!据我所知,问题可能出在外部检查器上。我已经安装了 flake8。你能推荐任何可能有效的外部 python 检查器吗?顺便说一句,我没有看到任何突出显示,即使我写了一些谎言“asdasdasdkj”,我猜它不应该在 python 文件中被接受:)
    • @GáborErdős 你似乎没有理解我上面写的内容。所有的跳棋都能奏效,你的期望是不切实际的。上面的highlight link 技巧是你能做的最好的。
    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多