Vim和Ctags使用心得---在Taglist中加入VHDL语言

Vim和Ctags使用心得---在Taglist中加入VHDL语言

Ctags的使用心得

1     下载地址:http://ctags.sourceforge.net  下载文件ctags58.zip

2     解压后是源码,估计都没啥用,感觉就那个exe文件有点用。这个别管了,直接放到一个目录里,我放到了D:\ctags58

3     下面设置一下环境变量。将D\ctags58放到path里。这样可以直接运行这下面的ctags.exe文件。

4     随便打开一个文件,用命令:!ctags –R *就可以将本文件夹的全部文件都加入到tags文件中了。怎样将几个文件夹的都弄到一起,以后再研究。

5     然后就是几个tag的命令了

ts <name> 这个是将含有name的所有文件列出来,然后你按1 2 3 4就可以选择了

Ctrl+] 这个一按直接跳转了

Ctrl+T 这个一按就跳回去了

6     难点就是这个tags如何设置。

因为每建立一个工程都会新建一个文件夹,而tags最先调用的是本文件夹下的tags,所以在新建了一个工程后,在顶层文件下运行:! Ctags –R *,就会自动生成tags文件,有更新的话可以再次用此命令即可。

为了方便在vimrc中用一个按键<F9>来代替此命令,实现如下:

"生成一个tags文件

nmap <F9> <Esc>:!ctags -R *<CR>

tags 生成之后,虽然ctrl+T]比较方便,但其主要是为一些其他插件提供支持。现在最有用的就是taglist了。


TagList

1     下载地址:http://www.vim.org/scripts/script.php?script_id=273 下载文件taglist_45.zip

2     解压后

├─doc

taglist.txt

└─plugin

        taglist.vim

放到~/Vim72相应的文件夹里。

3     vimrc中还需要一些设置,照搬就行,除了路径。具体含义有的还没搞懂,最重要的是<F8>打开taglist

let Tlist_Show_Menu = 1

" 这项必须设定,否则出错,配置taglistctags路径

let Tlist_Ctags_Cmd = 'D:\ctags58\ctags.exe'

" 使用F8打开Taglist

nnoremap <silent> <F8> :TlistToggle<CR>

"设置Taglist

let Tlist_Show_One_File=1

let Tlist_Exit_OnlyWindow=1

4          TagList可以使用了,但是vhdl语言不支持。。。悲剧啊。还得研究。结果如下。


TagList添加语言类型

1     添加文件类型。

~\vim72\filetype.vim 中添加文件类型,可以让vim识别文件的类型。在filetype.vim中添加:

" VHDL

au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst  setf vhdl

au BufNewFile,BufRead *.vhdl_[0-9]*            call s:StarSetf('vhdl')

" System Verilog

au BufNewFile,BufRead *.sv,*.svh          setf systemverilog

同时vimrc中需要将文件类型设置打开:

set filetype on

上面这2行都是vim默认已经有了的,一般不用改了。

我需要加入psm文件类型,则在filetype.vim中添加:

" psm汇编

au BufNewFile,BufRead *.psm         setf psm

2     taglist.vim中添加vhdl类型

在文件:~\vim72\plugin\taglist.vim中添加:

"vhdl language

let s:tlist_def_vhdl_settings = 'vhdl;e:entity;c:constant;t:type;C:component;f:fuction;p:procedure;P:package'

"systemverilog language

let s:tlist_def_systemverilog_settings= 'systemverilog;m:module;c:class;' .

          \ 't:task;p:program;f:function;i:interface;e:typedef'

貌似只支持entitycomponent,不过也够用了,可能function也能用。

Signal加进去没反应:(,不过signal都加进去了那就太多了。

System Verilog是抄别人的,不知道对不对。


OK,设置完这些之后,taglist应该可以正常的工作了。按F8就会显示出来。Taglist的具体设置应该还有一些,有空再研究。

PS(2010-9-15):taglist在新的文件夹里有时候会失效,点更新tags会发现他没有识别到ctags.exe文件,他用的是tags.exe。在D:/Ctags58文件夹中复制一个ctags.exe将其改名为tags.exe就可以解决这个问题了。有的时候用的又是ctags。。。。NND 不知道什么原因。另外中文名也不行。原因未知。。。。。

作为自己极为方便和顺手的编译器,在最近两年的使用,我不断的更新和加强vim的功能,特此备份。。。 ============================== 开启最大化 (win32用户直接就可以最大化,但是linux用户则需要安装wmctrl,详情参见:http://download.csdn.net/detail/jiaoxiaogu/4317843) --------------------------------------------------------------- F5一键运行Python,Ruby,Perl脚本 结果直接显示在gvim的Quickfix窗口,不会单独弹出窗口。 F3: 打开tagbar F4: 添加个人信息 -------------------------------------------------------------- 炫酷配色方案,详情参看(http://www.weibo.com/1132779494/z6lIzbmBg) 自动匹配括号,自动补全一些代码(\fn: 当前文件名; \fe:当前文件名+后缀;tt当前时间) 自动载入保存fold(折叠)信息 --------------------------------------------------------------- tl: 显示taglist wm:显示winmanager ,v: 打开配置文件 ,te: 打开俄罗斯方块(熟悉HJKL键) tv: 在gvim打开bash命令行(是的,你没看错!!) pyli: python静态代码测试 (保持代码规范,远离砍手砍脚) --------------------------------------------------------------- ctrl+g:打开最近打开的10个文件列表(这个非常方便,不用:e+路径了!) ctrl+q(,v):注释/反注释(可以区域注释,也可以单行注释) --------------------------------------------------------------- 所安装的插件: authorinfo.vim conque_term.vim EnhancedCommentify.vim minibufexpl.vim mru.vim per-support.vim python_fold.vim snipMate.vi tagbar.vim taglist.vim TeTrIs.vim winfileexplorer.vim winmanager.vim wintagexplorer.vim ------------------------------------------ 此配置的默认字体为Monaco,下载地址:http://download.csdn.net/detail/jiaoxiaogu/4317959
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值