【问题标题】:Vim syntax/compile-time error highlightingVim 语法/编译时错误高亮
【发布时间】:2011-03-11 16:13:34
【问题描述】:

是否有定期尝试编译/解释我正在处理的代码并突出显示语法错误的 Vim 脚本?我想指出这几行之间有问题:

int a = 42
cout << a << endl;

这样的事情会节省我大量的时间。我主要是在寻找 Perl 语法检查器,但我也对其他语言的类似插件感兴趣。

更新:我想指出另一个错误:

int a == 42;
cout << a << endl;

【问题讨论】:

  • 您可能只想到达 :make 执行您想要的操作的位置,并将密钥映射到它,这样您就可以“每当我按下 时”而不是“定期”,或者一些这样的。预览窗口中的错误与突出显示不完全相同,但它是内置功能。 (对于 Perl,您只需要将 makeprg 设置为 perl -c。)
  • 我用了一段时间的 ActiveState 的 Komodo。它在编辑时指出语法错误给我们留下了深刻的印象。问题是,生产力的提升并没有那么大。调试器很简洁(特别是在很远很远的服务器上单步执行 cgi 脚本时)。
  • 我自己破解了一个解决方案 :) 你可以参考 [Get AsyncCommand work with errormarker][1] [1]: stackoverflow.com/q/7963021/108565

标签: syntax-highlighting vim


【解决方案1】:

您可以使用 eclim :一旦您的 eclim 服务器设置并运行,您可以使用 Vim 命令 :Validate 对您的文件运行代码验证。

基本上,它使用 eclipse 中可用的验证并将其显示在位置列表中的 Vim/gVIm 中。 (使用:lopen

对于您的示例,位置列表包含:

test.cpp|1 col 11 error| Syntax error
test.cpp|2 col 1 error| Syntax error

(第 11 列对应丢失的; 的位置)

默认情况下,每次保存缓冲区时都会运行验证。

错误描述不是很清楚,但是一旦找到错误所在的行,通常很容易发现错误。

【讨论】:

    【解决方案2】:

    自动缩进应该做到这一点。当您以额外的缩进级别开始新行时,这可能意味着您输入了一个新块或您没有完成一个语句。

    【讨论】:

    • 这可以解决我的示例,但是编译器会发现各种错误,例如我刚刚通过回答更新的那个。
    猜你喜欢
    • 2017-11-26
    • 2015-04-24
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 2011-01-19
    • 2015-08-08
    • 2014-02-18
    相关资源
    最近更新 更多