vi + ctag + Tlist

ctags : ctags.sourceforge.net

Taglist :vim-taglist.sourceforge.net


1.ctags:

    download ctags-5.6.tag.gz

    tar xzvf ctags-5.6.tag.gz

    cd ctags-5.6

    ./configure

    make

    sudo make install


2. taglist:

    cd ~

    mkdir .vim

    cd .vim

    mkdir plugin

    unzip (your_path)/taglist_42.zip


To verify if install successful

    1、ctags --version

    2、vi test.c,":Tlist"


vi ~/.vim/plugin/taglist.vim

let Tlist_Ctags_Cmd="/usr/bin/ctags"

let Tlist_Inc_Winwidth=0                      //“禁止自动改变当前Vim窗口的大小
let Tlist_Use_Right_Window=1              //“把方法列表放在屏幕的右侧
let Tlist_File_Fold_Auto_Close=1            //“让当前不被编辑的文件的方法列表自动折叠起来, 这样可以节约一些屏幕空间


<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样

o 在一个新打开的窗口中显示光标下tag

<Space> 显示光标下tag的原型定义

u 更新taglist窗口中的tag

s 更改排序方式,在按名字排序和按出现顺序排序间切换

x taglist窗口放大和缩小,方便查看较长的tag

+ 打开一个折叠,同zo

- 将tag折叠起来,同zc

* 打开所有的折叠,同zR

= 将所有tag折叠起来,同zM

[[ 跳到前一个文件

]] 跳到后一个文件

q 关闭taglist窗口

<F1> 显示帮助

1. $ ctags –R *      ($ 为Linux系统Shell提示符)
2.  $ vi –t tag         (请把tag替换为您欲查找的变量或函数名)
3. :ts                                (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)
4. :tp                                (tp 助记字:tags preview)---此命令不常用,可以不用记
5. :tn                                (tn 助记字:tags next) ---此命令不常用,可以不用记
6. Ctrl + ]
7. Ctrl + T
“$ ctags –R
*”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,
当用户在当前目录中运行vi时,会自动载入此tags文件。Tags文件中包括这些对象的列表:
用#define定义的宏
枚举型变量的值
函数的定义、原型和声明
名字空间(namespace)
类型定义(typedefs)
变量(包括定义和声明)
类(class)、结构(struct)、枚举类型(enum)和联合(union)
类、结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面这些做了标记的对象。
剩下的命令就是定位这些对象的方法:
“$ vi –t tag” :在运行vim的时候加上“-t”参数,例如:
[/usr/src]$ vim -t main
这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。如果这个变量或函数有多处定义,在VI命令行模式“:ts”命令就能
列出一个列表供用户选择。   
“:tp”为上一个tag标记文件,“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一
个,“:tp,:tn”命令不可用。 :(
最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用
“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返
回 。
注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:settags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。在完成编码时,可以手工删掉tags文件

你可能感兴趣的:(shell,struct,vim,download,tags,fold)