0

我有一条错误消息,例如

some text
some text
Error starts ---
error file1
 message1
error file2
 message 2
Error end ---

如何仅解析错误部分中的内容。我想要被some text忽略的。

现在对于我正在使用的错误格式

%+C\ %.%#,%+A%f:%l:%c:\ error%.%#,%-Z%[%^\ ]
4

1 回答 1

0

尝试这个

set efm=%-GError\ %.%#\ ---,%Eerror\ %f,%+C\ %.%#,%-G%.%#
  • %-GError\ %.%#\ ---,忽略Error .* ---
  • %Eerror\ %f,启动多行错误,获取文件名
  • %+C\ %.%#,以空格开头的行继续多行错误
  • %-G%.%#忽略所有其他行

这仅在每个文件有一个错误时才有效,错误消息为

error file1
 message 1
 message 2

将显示为file1 || message 1 message 2

旁注,为了测试,您可以将错误消息放在名为 eg 的文件中 ,errorfile.txt然后(或)将读取并使用您的.:set errorfile=errorfile.txt:cgetfile:cgerrorfileerrorformat

:h error-file-format

于 2019-08-01T14:47:41.827 回答