zoukankan      html  css  js  c++  java
  • gvim keil 快捷跳转至出现错误(警告)行

    开发环境

    win7系统中:用keil 对工程进行编译链接,用gvim编辑查看源文件。

    实现效果

    一键跳转到出现警告或者错误的源码。

    实现原理

    1. 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
    
    1. 外部脚本的具体实现
    #!/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
    
    1. _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>
    
    1. keil 编译生成的build_log文件,错误或者警告信息,都是按照文件名+(行号)这样的格式显示。vim中有现成的组合键实现直接跳转到文件的指定行。
    xx.c(linenum):error ...
    

    使用

    1. 用gvim打开源代码,ctrl+ F11组合键生成错误信息汇总文件err_log.c,并打开err_log.c
    2. 按k或者j键(或者箭头键),选中错误行。按gF组合键跳转至出现错误的源码。
    3. 按F10键重新打开err_log.c
    4. 对警告信息的操作同理。
  • 相关阅读:
    mysql uodate 报错 You can't specify target table '**' for update in FROM clause
    设置mysql InnoDB存储引擎下取消自动提交事务
    SQL插入数据--数据中的某一列来自本表中的数据
    服务器部署静态页面
    json 和 jsonp
    Git 回滚
    java 自定义注解
    java BlockingQueque的多种实现
    java 多线程之ReentrantLock与condition
    storm 架构原理
  • 原文地址:https://www.cnblogs.com/liujiangyi/p/10259806.html
Copyright © 2011-2022 走看看