首先我们安装vim编辑器,可以选用直接
sudo apt-get install vim-gtk 安装完成后,我们再来安装插件ctags,该插件主要是用来tags文件是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的<C-]>, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]", 光标会自动跳转到其定义处, 够厉害吧, 你不用再羡慕Visual Studio的程序员了, 开始羡慕我吧~_~.在这个网站: http://ctags.sourceforge.net, 下载一个类似 ctags-5.8.tar.gz 的文件下来: 用下面的命令解压安装: $ tar -xzvf ctags-5.8.tar.gz $ cd ctags-5.8 $ ./configure $ make $ sudo make install 安装完毕。 然后就开始使用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 对于第一条而言,我们在代码的目录下打开终端,或者用cd切换到该终端下,然后输入$ctags -R,我们可以看到此时产生了一个tags文件,然后我们使用第二条命令比如输入$vim -t main 它表示我们用vim打开该目录下的main函数,接下来应该就能在终端看到main函数了,如果想要寻找某一个函数,或者变量,的定义,我们可以直接将光标移至该处,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。 ^_^ 接下来我们来看看怎么在ubuntu下手动设置vim,下面介绍一种常用的方法 首先我们可以在自己的主文件夹下,建立一个.vimrc文件,该文件是默认隐藏的,所以我们要用Chrl+H组合键来显示它,然后就是在里面设置自己的vim一些配置用法,如果说你也跟我一样暂时只是vim看代码方便,那么我建议你设置一些基本的功能:用gedit .vimrc打开然后输入: set syntax=on "配色方案 colorscheme torte " 去掉输入错误的提示声音 set noeb " 在处理未保存或只读文件的时候,弹出确认 set confirm " 自动缩进 set autoindent set cindent " 自动换行 set wrap " 整词换行 set linebreak " Tab键的宽度 set tabstop=4 " 统一缩进为4 set softtabstop=4 set shiftwidth=4 " 不要用空格代替制表符 set noexpandtab " 在行和段开始处使用制表符 set smarttab " 显示行号 set number " 历史记录数 set history=1000 "禁止生成临时文件 set nobackup set noswapfile "搜索忽略大小写 set ignorecase "搜索逐字符高亮 set hlsearch set incsearch "行内替换 set gdefault "编码设置 set enc=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "语言设置 set helplang=cn set encoding=utf8 set langmenu=zh_CN.UTF-8 set imcmdline source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim " 设置字体。 set guifont=Liberation\Mono\ 12 "set guifont=Fixedsys\Excelsior\3.01\ 14 let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的 let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口 "如果你想在启动VIM后,自动打开taglist窗口 然后保存。 接下来就是安装taglist插件,注意taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用! 到http://vim.sourceforge.net/scripts/download_script.php?src_id=6416该地址下去找到taglist的安装包 然后解压,这里其实可以鼠标右键,看到有个命令选项,直接解压到此处,点击就行了,而不用装B的去采用命令# unzip -d taglist taglist_42.zip # cd taglist 来解压。 之后我们输入命令: cp doc/taglist.txt /usr/share/vim/vim73/doc/ cp plugin/taglist.vim /usr/share/vim/vim73/plugin/ 每个人的vim版本不同,所以你的可能是别的版本vim**,不一定是73。 这样就完成了在源代码处 jason@ubuntu:~/lidar/3530/working-copy$ vim 3dMapping_thread.cpp 打开源文件,然后输入TlistOpen在右边出现tag栏,右边的窗口就是前面介绍的TagList窗口, 其中列出了main.c文件中的tag, 并且按照"typedef", "variable", "function"等进行了分类. 将光标移到VimMain上, 如图中左边红色的方框, 按下回车后, 源程序会自动跳转到VimMain的定义处, 如图中右边的红色方框. 这就是TagList最基本也是最常用的操作. 再教你一个常用的操作, 你在浏览TagList窗口时, 如果还不想让源码跳转, 但是想看看tag在源码中完整的表达, 可以将光标移到你想要看的tag上, 如图中上边黄色的方框, 然后按下空格键, 在下面的命令栏中, 如图下边黄色的方框, 会显示该tag在源码中完整的写法, 而不会跳转到源码处. 输入:q推出taglist, 输入:TlistOpen在源代码和tag之间切换。 接下来安装WinManage插件显示目录 到http://www.vim.org/scripts/script.php?script_id=95下载插件,然后解压, 然后; sudo cp winmanager.txt /usr/share/vim/vim73/doc/ sudo cp winfileexplorer.vim /usr/share/vim/vim73/plugin/ sudo cp winmanager.vim /usr/share/vim/vim73/plugin/ sudo cp wintagexplorer.vim /usr/share/vim/vim73/plugin/ 然后在.vimrc中输入: let g:winManagerWindowLayout='FileExplorer|TagList' nmap wm :WMToggle<cr> ,搞定。 接下来试试效果: jason@ubuntu:~$ vim 3dMapping_thread.cpp 然后正常模式按下wm,会看到左边显示两个窗口,目录和taglist。在按下wm就消失了,每次都是按entel键打开相应的函数或者目录。:TlistOpen和:q之间切换。