前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >君子善器之按行号跳转:用vim查阅verilog编译信息的一个小技巧

君子善器之按行号跳转:用vim查阅verilog编译信息的一个小技巧

作者头像
icsoc
发布2020-07-07 09:48:54
8210
发布2020-07-07 09:48:54
举报
文章被收录于专栏:ICSOC.TECH

前段时间请求IT把Linux服务器上的vim升级到vim7.4,一个想法是可以用vim7.0之后加入的特性gF,可以实现跳转到光标所在文件的指定行,如果文件名后面跟着行号的话。这个命令很高效,不用记下行号,gf,然后输入行号,而是直接gF一步到位。

然而仿真verilog的常用工具VCS和NC在给出的编译信息中,文件名和行号的组合格式却不尽相同,gF时灵时不灵,不能处理所有的情景。

因此Google了一把,发现原来早在vim7.0推出之前,就有人通过vim函数实现了gF。于是copy下来,针对VCS和NC的特定格式做了修改,还挺好用。从网络来,到网络去,发出来分享。

把下面这段粘贴到你的.vimrc里。在编译报告中有文件名的地方,输入gf,就可以跳转到verilog文件的指定行了。

新浪播客里面怎么添加代码啊?下面的代码被处理的不像样了,有些字符也没有了。容我研究一下。。。研究的结果是抓张图上来吧!!!!!!

(微信公众号貌似智能一些,粘贴代码不做手脚!赞腾讯一个,鄙视渣浪!)

V司的同事可以直接到我的.vimrc里面copy。

代码语言:javascript
复制
function! GotoFileWithLineNum()
" exclude comma from file name search
     " change the 'isfname' option temporarily to pick up file name in ncverilog MSG
      let bak_isfname = &isfname
     set isfname=@,48-57,/,.,-,_,+,#,$,%,~,="
     " filename under the cursor
     let file_name = expand('<cfile>')
     if !strlen(file_name)
         echo 'NO FILE UNDER CURSOR'
         return
     endif

     " look for a line number separated by any :,"<space>
     if search('\%#\f*[:, "]*\zs[0-9]\+')
         " change the 'iskeyword' option temporarily to pick up just numbers
         let temp = &iskeyword
         set iskeyword=48-57
         let line_number = expand('<cword>')
         exe 'set iskeyword=' . temp
     endif

     exe 'set isfname=' . bak_isfname
     " edit the file
     exe 'e '.file_name

     " if there is a line number, go to it
     if exists('line_number')
         exe line_number
     endif
 endfunction

 map gf :call GotoFileWithLineNum()<CR>
 map gsf :sp<CR>:call GotoFileWithLineNum()<CR>

最后吐槽一下Synopsys的VCS,一个软件里面警告的格式竟然不统一,有的带双引号,有的不带!NC的貌似扩展性更强,不但在文件名后附带行号,还附带列号!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 icsoc 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档