VIM语法着色错误列表
我们使用shell脚本来调用各种cmake
操作来构建我们的产品。 回传给STDERR的信息是g ++编译器输出的错误。 我可以使用流重定向将错误获取到文件中
myBuild.sh 2> errors
我可以编辑该文件以及各种来源。 语法突出显示在.cpp和.h's中工作,但错误文件不被着重。
有没有办法让vim着色我的错误文件? 也许在errors.err或$ VIM_something中存储的某些脚本中添加filetype?
示例输出
/wxyzModule/wxyzModule.h: In member function 'void WxyzModule::setIsTesting(bool)':
/wxyzModule/wxyzModule.h:48:48: error: 'm_isTesting' was not declared in this scope
如果我:设置filetype = cpp,48:48是红色的,bool是绿色的,而不是这个是黄色的。 其他的一切都保持白色,就像没有突出显示一样。
考虑使用:make
从vim中,你可以通过设置:h 'makeprg'
选项来设置它使用你的shell命令,例如: set makeprg=myBuild.sh 2>&1
,默认值:h 'errorformat'
set makeprg=myBuild.sh 2>&1
与这工作,否则你可以调整它。
虽然您的错误文件包含C ++函数和变量名称, 但它不是C ++语法 (特别是前面的文件名总体结构不同)。 因此,试图将:setfiletype cpp
应用于它将会失败。
如果你真的需要突出显示,你必须编写自己的语法插件(例如称为g++errorformat
)。 您当然可以从$VIMRUNTIME/syntax/cpp.vim
复制某些语法元素,但实际上,您正在编写单独的语法。
注意:如果您将错误文件加载到Vim的quickfix列表( :cfile errors
)中,您将获得文件名和行/列的基本突出显示,以及跳转到错误位置等便利设施。
您可以在vim中将文件类型设置为例如cpp
:set filetype=cpp
如果你想知道你当前使用的filetype
,你可以输入
:set filetype
如果你不想每次都输入,你可以使用autocmd
autocmd BufNewFile,BufRead *.err set filetype=cpp
链接地址: http://www.djcxy.com/p/19135.html