• vim + ctags + taglist配置和使用


     

    vim +ctags + taglist ctags+cscope 安装配置和使用

     

     内容:VIM下ctags和taglist的安装配置方法;一键安装 ctags和cscope的方法 ;vim语法高亮,自动缩进,python 自动缩进设置,下面将逐个介绍安装和配置使用方法,仅供参考:



    1, vim + ctags + taglist配置和使用

    taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!

    1、首先安装ctags

    首先是ctags的安装,推荐使用exuberant ctags,我们可以从其官方网站上下载它的源码包,进行解压缩,编译,安装即可。
    1)ubuntu安装
    sudo apt-get install exuberant-ctags

    ( 或者下载 手动安装 download ctags-5.8.tag.gz (地址

        tar xzvf ctags-5.8.tag.gz

        cd ctags-5.8

        ./configure

        sudo make

        sudo make install

    )

    至此,ctags的安装已经完成,可以使用ctags命令来检测时候完成安装。

    检测:

    在自己的项目文件夹下执行 $ctags -R *  (不执行就起不到效果)   
    注:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件, 当用户在当前目录中运行vi时,会自动载入此tags文件。
    然后就可以入手了。
    常用的命令:
    熟练的使用ctags仅需记住下面七条命令:(很简单吧,呵呵)
           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

     -------------------------------------------------------------------------------------------------

    2、安装taglist 

    下面我们来进行taglist的安装,同ctags的安装一样这里我们也是去其官方网站下载解压其源码包。

    具体步骤如下:

    下载地址 

    解压文件
    # unzip -d    taglist taglist_45.zip // 解压到 taglist

       我们首先在家目录下创建.vim文件(mkdir .vim)   以便于存放vim的插件。
    然后把我们下载到的taglist源码包进行解压,把其中的doc和plugins目录拷贝到.vim文件夹下。
    进入到vim在命令模式下输入helptaglist~/.vim/doc即完成了taglist的安装。在vim中输入Tlist,如果出现如下画面则证明安装成功。


    也可以这样 配置
    $cd taglist/
    $cp doc/taglist.txt /usr/share/vim/vim72/doc/
    $cp plugin/taglist.vim /usr/share/vim/vim72/plugin/ 
    基本上配置完成
    启动vim,用 “:helptags .”来配置好帮助文件
    重启vim,用“:TlistToggle”来打开和关闭taglist窗口。
    可以用“:help taglist”来获得更多帮助信 
    若要默认打开taglist,_vimrc中加入

    let Tlist_Auto_Open=1

    set tags=tags;

    set autochdir;

      注意第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到tags文件,或者没有找到对应的目标,就到父目 录中查找,一直向上递归。因为tags文件中记录的路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。

     
    完成了taglist和ctags的安装,但是这时ctags和taglist还没有联系起来。为此,我们需要修改~/.vim/plugin/taglist.vim文件,找到if !exitsts(loaded_taglist)这一行,并在其前面添加let Tlist_Ctags_Cmd="/usr/local/bin/ctags"
    ps:在这里需要注意的是我们在设置直线需要察看我们ctags可执行可执行路径到底是在哪里,我们可以进入到上述目录,一直找到具体的可执行的文件ctags,并将其路径赋给Tlist_Ctags_Cmd(例如我的路径是/usr/local/bin/ctags/ctags)
    vim+taglist+ctags阅读代码
    为了使用vim+taglist+ctags来阅读代码,我们首先必须生成函数和变量的符号信息。这一步我们使用ctags完成。
    例如我们使用我们刚才下载的ctags的源码包为例。
    //生成tag
    执行 ctags -R *(-R递归作用)
    //检查是否生成了tags
    ls -l tags
    生成tag以后我么就可以进行察看了,具体步骤见如下截图
     
     
    vim输入:TlistToggle来打开侧面窗口 (或者直接:Tlist、TlistOpen也可以)
     
     
    使用ctr 和两次w在侧窗口和主窗口之间进行切换
     
    移动到土体的函数后,按enter键察看具体函数。(可以利用ctags的特性在鼠标指定处比如"apue.h",Nomal 输入 gf,转到头文件"apue.h")
     
     有时我们想察看的函数在其他代码文件中定义,这是我们只要将光标定位到想察看的函数上,然后按ctr+]键就可以进行察看了,按ctr+O可以跳回到源文件中。

    具体 vim 高阶应用见 http://easwy.com/blog/archives/advanced-vim-skills-catalog/


    第一步要达到效果是不是很麻烦,下面介绍一种简单的方法

    2, 一键安装 ctags和cscope的方法

    用vim的插件搭建一个类似sourceinsight的vi,同时加了一些vim及脚本,最近看到很多人想要有sourceinsight功能的vim,由于整个配置还是有点麻烦,于是将配置的vim发上来,只需一条命令,就可安装完ctagslist,cscope,fielexporeer等插件,达到sourceinsight的效果。

    安装过程:

    大家下载附件,然后解压
    然后切到解压后的文件夹,
    执行sudo ./install即可
    然后执行sudo apt-get  install vim

    或者这样安装:
    #Clone repository:
    git clone https://github.com/ustcdane/vim_install.git
    #install
    cd vim_install
    sudo ./install

    可能会出现错误:
    "Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. 
    Plugin is not loaded."

    没有关联Ctags和Taglist

    在~/.vimrc中加入 : let Tlist_Ctags_Cmd='/usr/bin/ctags'

    其实我已经在 install 中加入了,如果还是出现错误,则找到你的可执行程序ctags 所在处手动的在~/.vimrc中加入let Tlist_Ctags_Cmd='你的ctags路径'

    使用指南:

    当我们需要阅读代码时,必须先生成tags文件和cscope.out文件,这个可以通过已安装程序中的脚本自动生成
    比如你要阅读source文件夹下的代码就使用cs source
    当source下有文件更新了,你可以使用 cs source -u来更新

    常用命令:
    进入vim后
    wm打开ide界面,再次wm就关闭了
    ctrl+w在各个窗口切换
    ctrl+h切换到左边的窗口
    ctrl+j切换到下面的窗口
    ctrl+l切换到右边的窗口
    ctrl+k切换到上面的窗口
    ctrl+]函数跟踪


    快捷键 cs f s/g/....

    s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
    g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
    d: 查找本函数调用的函数
    c: 查找调用本函数的函数
    t: 查找指定的字符串
    e: 查找egrep模式,相当于egrep功能,但查找速度快多了
    f: 查找并打开文件,类似vim的find功能
    i: 查找包含本文件的文
    当然在底行模式下介键入 help 会弹出 vim的帮助。

    使用cscope查找do_fork函数的定义:
    在vim命令行下执行:

    :cs f g do_fork

    就可以查看do_fork的全局定义了。

    cscope常用快捷键:

    先按 ctrl+ 然后 再按以下键:  

    ctrl+]:在函数调用的地方跳转到函数定义的地方
    ctrl+t:返回上一个查找的地方


    这个方法是从网上学到的,并作了部分修改



    3, 设置vim语法高亮显示和自动缩进

    1、配置文件的位置在目录 /etc/vim 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc” , (如果你使用第二步中的一键安装 ctags和cscope的方法 建议 在自己的家目录下的.vimrc 作相应修改) 。例如,/root目录下,通常已经存在一个.vimrc文件。
     

     2、设置语法高亮显示
    1) 打开vimrc,添加以下语句来使得语法高亮显示:
          syntax on

    2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
         export TERM=xterm-color

          
     3、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)
                  1)设置(软)制表符宽度为4:
                                set tabstop=4
                                set softtabstop=4
                  2)设置缩进的空格数为4
                              set shiftwidth=4
                  3)设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
                        set autoindent
                  4)设置使用 C/C++ 语言的自动缩进方式:
                              set cindent
                  5)设置C/C++语言的具体缩进方式(以我的windows风格为例):
                                set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
                  6)如果想在左侧显示文本的行号,可以用以下语句:
                              set nu
                7)最后,如果没有下列语句,就加上吧:
                        if &term=="xterm"
                             set t_Co=8
                             set t_Sb=^[[4%dm
                             set t_Sf=^[[3%dm
                        endif



    总结, 需要添加的内容:
    A,语法高亮在/etc目录下的profile文件中添加以下语句:
    export TERM=xterm-color

    B,其它 在 /etc/vim/vimrc的 添加:

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. syntax on  
    2. set nu  
    3. set tabstop=4  
    4. set softtabstop=4  
    5. set shiftwidth=4  
    6. set cindent  
    7. set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s  
    8.   
    9. if &term=="xterm"  
    10.      set t_Co=8  
    11.      set t_Sb=^[[4%dm  
    12.      set t_Sf=^[[3%dm  
    13. endif  
    14.   
    15. hi Comment ctermfg=6  



    Other: vim python 的自动缩进设置方法。
    缩进设置最常用的是:
    :filetype indent on
    它将开启针对文件具体类型的缩进
  • 相关阅读:
    基于jquery后台框架设计(自适应高度,iframe简易版)
    发布mvc遇到的HTTP错误 403.14Forbidden解决办法
    编译器错误消息: CS0012: 类型 在未被引用的程序集中定义。必须添加对程序集 的引用
    jquery获取iframe里的js事件
    js获取浏览器相关尺寸
    CSS半透明兼容写法
    sharepoint 添加解决方案 遇到的问题
    WCF开发小结
    TDD(测试驱动开发/TestDriven Development)
    asp.net 2.0 读取 资源文件
  • 原文地址:https://www.cnblogs.com/tsingke/p/4214862.html
Copyright © 2020-2023  润新知