svtag supported by ctags

编辑 ~/.ctags, 添加以下代码:
--exclude=.SOS
--exclude=.git
--exclude=nobackup
--exclude=nobkp
--exclude=results
--exclude=*.log

--langdef=SystemVerilog
--langmap=SystemVerilog:.sv.v.svh.tv.vg.vinc

--regex-SystemVerilog=/^\s*(\b(static|local|virtual|protected)\b)*\s*\bclass\b\s*(\b\w+\b)/\3/c,class/
--regex-SystemVerilog=/^\s*(\b(static|local|virtual|protected)\b)*\s*\btask\b\s*(\b(static|automatic)\b)*\s*(\w+::)*\s*(\b\w+\b)/\6/t,task/
--regex-SystemVerilog=/^\s*(\b(static|local|virtual|protected)\b)*\s*\bfunction\b\s*(\b(\w+)\b)*\s*(\w+::)*\s*(\b\w+\b)/\6/f,function/

--regex-SystemVerilog=/^\s*\bmodule\b\s*(\b\w+\b)/\1/m,module/
--regex-SystemVerilog=/^\s*\bprogram\b\s*(\b\w+\b)/\1/p,program/
--regex-SystemVerilog=/^\s*\binterface\b\s*(\b\w+\b)/\1/i,interface/
--regex-SystemVerilog=/^\s*\btypedef\b\s+.*\s+(\b\w+\b)\s*;/\1/e,typedef/
--regex-SystemVerilog=/^\s*`define\b\s*(\w+)/`\1/d,define/
--regex-SystemVerilog=/}\s*(\b\w+\b)\s*;/\1/e,typedef/

--regex-SystemVerilog=/^\s*(\b(static|local|private|rand)\b)*\s*(\b(shortint|int|longint)\b)\s*(\bunsigned\b)?(\s*\[.+\])*\s*(\b\w+\b)/\7/v,variable/
--regex-SystemVerilog=/^\s*(\b(static|local|private|rand)\b)*\s*(\b(byte|bit|logic|reg|integer|time)\b)(\s*\[.+\])*\s*(\b\w+\b)/\6/v,variable/
--regex-SystemVerilog=/^\s*(\b(static|local|private)\b)*\s*(\b(real|shortreal|chandle|string|event)\b)(\s*\[.+\])*\s*(\b\w+\b)/\6/v,variable/
--regex-SystemVerilog=/(\b(input|output|inout)\b)?\s*(\[.+\])*\s*(\b(wire|reg|logic)\b)\s*(\[.+\])*\s*(#(\(.+\)|\S+)\))?\s*(\b\w+\b)/\9/v,variable/
--regex-SystemVerilog=/(\b(parameter|localparam)\b).+(\b\w+\b)\s*=/\3/a,parameter/

--SystemVerilog-kinds=+ctfmpied

--languages=SystemVerilog,C,C++,HTML,Lisp,Make,Perl,Python,Sh
然后就可以运行 ctags 产生 TAGS 文件: ctags -Re --languages=SystemVerilog -f my.tags /path/to/your/source/code
之后配置 VIM, 使 VIM 能读到已经产生的 TAGS 文件:
以后在 VIM 中打开代码时,就可以通过 CTRL-] 跳转到当前光标处的变量/函数等的定义位置。
在module和endmodule间跳转
在 VIM 中,可以通过 % 在匹配的 ( 与 ) ,{ 与 } , [ 与 ] 间跳转。增加以下配置后,可以实现在 module 与 endmodule,task 与 endtask等之间跳转。
runtime! macros/matchit.vim
if exists(‘loaded_matchit‘)
let b:match_ignorecase=0
let b:match_words=
\ ‘\<begin\>:\<end\>,‘ .
\ ‘\<if\>:\<else\>,‘ .
\ ‘\<module\>:\<endmodule\>,‘ .
\ ‘\<class\>:\<endclass\>,‘ .
\ ‘\<program\>:\<endprogram\>,‘ .
\ ‘\<clocking\>:\<endclocking\>,‘ .
\ ‘\<property\>:\<endproperty\>,‘ .
\ ‘\<sequence\>:\<endsequence\>,‘ .
\ ‘\<package\>:\<endpackage\>,‘ .
\ ‘\<covergroup\>:\<endgroup\>,‘ .
\ ‘\<primitive\>:\<endprimitive\>,‘ .
\ ‘\<specify\>:\<endspecify\>,‘ .
\ ‘\<generate\>:\<endgenerate\>,‘ .
\ ‘\<interface\>:\<endinterface\>,‘ .
\ ‘\<function\>:\<endfunction\>,‘ .
\ ‘\<task\>:\<endtask\>,‘ .
\ ‘\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,‘ .
\ ‘\<fork\>:\<join\>\|\<join_any\>\|\<join_none\>,‘ .
\ ‘`ifdef\>:`else\>:`endif\>,‘
endif

时间: 2024-08-12 16:47:24

svtag supported by ctags的相关文章

liunx中ctags 与makefile的使用

ctags 是vim下可以帮助阅读代码的一个的工具,它可以很方便的看到程序的源代码 使用ctags可以有两种方法:(1).可以在任意目录下建立文件,然后使用 ctags *.c,这个命令的意思是把当前目录下的所有文件生成标签文件(vim可以通过标签,跳转到标签文件处)例如: vim ctag.h vim ctag.c vim main.c 在main.c中把光标移至fun函数处,按Ctrl+[就会跳转到fun函数定义的地方,即ctag.c处,Ctrl+T回转到main.c函数 (2).输入cta

vim 中Ctags的安装和使用

『插件介绍』 Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等.比如,tags文件就是Taglist和OmniCppComplete工作的基础. 『下载和安装』 一.我是使用apt-get安装的: sudo apt-get install ctags 二.下载源码安装(网上提供的方法) 1)从http://ctags.sourceforge.net/下载源代码包后,解压缩生成源代码目

vim配置(二):使用ctags阅读内核源码

1. 安装ctags [email protected]:~# apt-get install ctags 2. 设置内核目录的ctags [email protected]:/study/linux-git/linux-git/linux-3.18.3# ls arch     Documentation  include  kernel       net             security block    drivers        init     lib          R

“wsimport -keep ”生成客户端报错“Use of SOAP Encoding is not supported.”

本来想用 “wsimport -keep ” 生成客户端,结果报错“Use of SOAP Encoding is not supported.” 应该是缺jar包, 闲麻烦就发现了百度经验上的 这个方法.以下是教程 wsdl文件生成客户端 首先我们需要知道webservice接口地址,这里我的测试地址为http://localhost:8085/Service/Function?wsdl.   右击另存为,保存为.wsdl的文件.   在eclipse中新建一个java项目.   将.wsdl

ORA-00845 : MEMORY_TARGET not supported on this system(调大数据库内存无法启动)

问题描述:调大数据库内存后,启动数据库报 ORA-00845 : MEMORY_TARGET not supported on this system . -- 调大数据库内存后,数据库启动报错[[email protected] bin]# ./srvctl start database -d jcdydbPRCR-1079 : Failed to start resource ora.jcdydb.dbCRS-5017: The resource action "ora.jcdydb.db

vim插件ctags的安装与使用

LINUX系统下看程序或者编程序时,看到一个函数经常需要知道该函数的定义,这时ctags就派上用场了,其安装和使用方法如下: 安装方法: sudo apt-get install ctags (ubuntu) (RedHat系列使用:yum install ctags) 若不成功,可能是因为源的问题,换一下软件源update后重新执行上述命令即可. 使用方法: 1.生成标签文件 在当前目录下(运行$提示符后面的命令): $ctags -R . -R表示recursive,递归,为当前目录及其子目

快速配置vim+ctags+taglist

实验平台:centos 7 1.安装vim编辑器 点击(此处)折叠或打开 $sudo yum install vim 并编辑配置文件.vimrc文件,放在主目录下/home/developer 参考配置如下 点击(此处)折叠或打开 set guifont=Courier_New:h10:cANSI " 设置字体 autocmd InsertLeave * se nocul " 用浅色高亮当前行 autocmd InsertEnter * se cul " 用浅色高亮当前行 s

Taglist:Exuberant ctags.......

[[email protected] vimcf4pythoner]# vim Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded. 请按 ENTER 或其它命令继续 如果出现这个错误,在 .vimrc 文件中添加如下语句即可 let Tlist_Ctags_Cmd = '/usr/local/bin/ctags' 然后,再进入 vim 编辑器,就不会再提示这个错误了

ctags 和Makefile的简单使用

ctags ctags是vim下方便代码阅读的工具.尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM.并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码.(尤其是大型的工程) 一.安装ctags 1.命令行安装 切换到root用户之下,输入yum install ctags 2.下载源码安装(网上提供的方法) 1)从http://ctags.sourceforge.net/下载源代码包后,解压缩生成源代码目录, 2)然后进入源代码根目录执行./configur