Vim 错误格式和 ncvhdl

Vim errorformat and ncvhdl

我正在尝试设置我的 Vim 环境,以便能够使用 Cadence VHDL 编译器 (ncvhdl) 编译 VHDL 代码。但是,我的错误格式字符串无法正常工作。典型的 ncvhdl 错误行是:

ncvhdl_p: *E,EXPBEG (tc_lg_and2-rtl-a.vhd,3|34): expecting the
reserved word 'BEGIN' [1.2].

我将错误格式设置为:

set errorformat=ncvhdl_p:\ *E\,%m\ (%f\,%l\|%c)

有什么提示吗? 谢谢!

这就是你想要做的:

set errorformat=ncvhdl_p:\ \*%t\,%.%#\ (%f\,%l\|%c):\ %m
  • *字符需要转义。
  • 使用%t来标识表示错误类型的单个字符(Error/Warning/Lint).
  • 使用%.%#跳过字符串,如正则表达式中的.*

更多信息:

:help errorformat

如果 example.txt 包含从命令输出中复制的错误行列表,则设置 set makeprg=cat\ example.txt 可用作测试 errorformat 表达式的快速方法。