gvim keil 快捷跳转至出现错误(警告)行
开发环境
win7系统中:用keil 对工程进行编译链接,用gvim编辑查看源文件。
实现效果
一键跳转到出现警告或者错误的源码。
实现原理
- gvim 调用外部shell脚本,对keil编译生成的log文件进行整理,警告信息汇总到warning_log.c ,错误信息整理到err_log.c。
function! LoadErrLogFile()
execute ":silent !bash.exe search_err.sh ./build/*log.htm"
execute ":e err_log.c"
endfunction
function! LoadWarnLogFile()
execute ":silent !bash.exe search_warning.sh ./build/*log.htm"
execute ":e warning_log.c"
endfunction
- 外部脚本的具体实现
#!/bin/bash
if [ -f "$1" ];then
grep "): err" $1 > err_log.c
fi
#!/bin/bash
if [ -f "$1" ];then
grep "): warning" $1 > warning_log.c
fi
- _vimrc中的案件映射定义
nnoremap <C-F11> :call LoadErrLogFile()<CR>
nnoremap <C-F10> :call LoadWarnLogFile()<esc><CR>
nnoremap <F10> :e warning_log.c<esc><CR>
nnoremap <F11> :e err_log.c<esc><CR>
- keil 编译生成的build_log文件,错误或者警告信息,都是按照文件名+(行号)这样的格式显示。vim中有现成的组合键实现直接跳转到文件的指定行。
xx.c(linenum):error ...
使用
- 用gvim打开源代码,ctrl+ F11组合键生成错误信息汇总文件err_log.c,并打开err_log.c
- 按k或者j键(或者箭头键),选中错误行。按gF组合键跳转至出现错误的源码。
- 按F10键重新打开err_log.c
- 对警告信息的操作同理。