作为一个刚刚接触Linux不久的小白,习惯了在windows下那么多功能强大、方便易用的IDE下做开发。一进入Linux的世界下写代码,却发现Linux下竟然没有一款让人很满意的IDE,真是让人郁闷不已!也许是因为Linux奉承“简单就是美”的哲学吧。起初,用vim写代码,vim虽然功能强大,但离IDE的差距实在太大了。然后在网上发现vim可以装一些插件,可以更方便于写代码,于是就捣鼓了个vim+ctags+taglist+cscope,用来看Linux内核源码。但是发现这样的vim配置还是不够强大。后来发现eclipse也可以安装在linux下使用,体念了下eclipse,感觉用的也不是很习惯。想想,在vim那黑压压屏幕下写代码是多么的酷哇,而且发现大牛们还是用vim写代码的,为了让自己掌握基本的开发工具而不落伍,花了两天时间参考网络资料在Ubuntu12.04下搭建了类似vs的强大开发环境。
在Ubuntu12.04下搭建类似vs的强大开发环境之前,我们要弄清楚这样的开发环境有什么样的功能。vs的基本功能如下:
1)代码编辑功能。这里用vim实现。
2)跳转到光标所在符号的定义。这里用插件Ctags实现。
3)查找C语言符号,即查找函数名、宏、枚举值等出现的地方等功能。这里用插件Cscope实现。
4)输入时实时提供类或结构体的属性或方法的提示和补全功能。这里用插件OmniCppComplete实现。
5)输入时实时提供函数的提示和补全功能。这里用插件Echofunc实现。
6)工程文件浏览界面。这里用插件NERDTree实现。
7)多文件同时编辑功能。 这里用插件MiniBufExplorer实现。
除此之外,Taglist提供源代码符号的结构化视图。在Ubuntu12.04下搭建类似vs的强大开发环境的效果图如下:
在开始操作前,先普及下基础概念,然后约定一下表达规范。
1)Vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里我们只修改~/.vimrc文件。
2)Vim的插件(plugin)安装在Vim的runtimepath目录下,你可以在Vim命令行下运行"set runtimepath“命令查看。这里我们选择安装在~/.vim目录,没有就创建一个。
3)当本文说”在Vim命令行下运行cmdxx命令“时,意思是指在Vim的命令行模式下运行cmdxx命令,即在Vim的正常模式下通过输入冒号":"进入命令行模式,然后紧接着输入命令cmdxx。在后文描述中都会省略冒号":"输入。
4)如果没有说明“在Vim命令行下运行某命令”,则是在shell中执行该命令。
5)如果命令中间被空白符间隔或有与正文容易混淆的字符,我会用双引号将命令与正文区分。所以读者在实际操作时,不要输入命令最前面和最后面的引号。
6)本文关于组合快捷键的描述,形如a-b形式的快捷键表示同时按下a键和b键,而形如"a-b c"形式的快捷键,则表示先同时按下a键和b键,然后放开ab键,再按下c键。而形如"a b c"形式的快捷键,则表示先按下a键后放开,然后按下b键后放开,最后按下c键后放开。
一、vim的安装、配置及使用
1、vim的安装
默认情况下,vim工具已经作为标配的编辑工具集成在unix/linux的各个发行版本中。如果你的系统上没有,你可以从官网上下载源代码自己编译。
2、vim的使用
vim的使用可以参考“鸟哥的Linux私房菜+基础学习篇 第三版”,里面写的非常详细。
二、Ctags的安装、配置及使用
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。
1、Ctags的安装
在终端上输入:sudo apt-get install universal-ctags 即可安装Ctags。
然后在~/.vimrc中增加以下这行:
map ct :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
2、Ctags的使用
使用Ctags的也很简单。 进入我们的项目代码根目录,在shell执行以下命令:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
由于在前面第5条,我们已经在Vim中配置了ct组合快捷键,所以我们也可以进入代码根目录后,打开Vim,按下c t快捷键自动生成tags文件。
命令执行完后,会在源代码目录生成tags文件。Vim默认会自动读取当前目录下的tags文件,所以不需要修改~/.vimrc文件。此时,我们已经具有定义跳转的功能了。有两组快捷键是最常用的。
Ctrl-] 跳转到光标所在符号的定义。
Ctrl-t 回到上次跳转前的位置。
更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。
三、Taglist的安装、配置及使用
Taglist是vim的一个插件,提供源代码符号的结构化视图。
1、Taglist的安装
1)从http://www.vim.org/scripts/script.php?script_id=273下载安装包,也可以从http://vim-taglist.sourceforge.net/index.html下载。
2)将Taglist安装包解压到~/.vim目录(如果Home目录下没有.vim目录,则需要手动创建。),解压后会在~/.vim目录中生成几个新子目录,如plugin和doc(安装其它插件时,可能还会新建autoload等其它目录)。
3)进入~/.vim/doc目录,在Vim下运行"helptags ."命令。此步骤是将doc下的帮助文档加入到Vim的帮助主题中,这样我们就可以通过在Vim中运行“help taglist.txt”查看taglist帮助。
4)打开配置文件~/.vimrc(如果Home目录下没有.vimrc文件,则需要手动创建。),加入以下内容:
" taglist
if &diff
let Tlist_Auto_Open=0 "don't auto pen when compare two files
else
let Tlist_Auto_Open=0 "auto pen Tlist when open a file
endif
"set taglist window in right, delete the following line if you don't like
let Tlist_Use_Right_Window=0
let Tlist_Auto_Update=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_Process_File_Always=1
let Tlist_Show_One_File=1
"auto close Tlist when exiting file.
let Tlist_Exit_OnlyWindow = 1
nmap <F7> :copen<CR>
nmap <F6> :cclose<CR>
"nnoremap <silent> <tl> :TlistToggle<CR>
nmap tl :TlistToggle<CR>
到此安装已经完成。
2、Taglist的使用
在Vim命令行下运行TlistToggle命令就可以打开Taglist窗口,再次运行TlistToggle则关闭。示图如下: