在linux上开发最大的不适应就是找不到win上的vs这种IDE了,当然可以安装一个带图形界面的系统,再装个eclipse或者kde之类的,但是这违反了进入linux平台开发的初衷,linux毕竟不是用来办公,做服务器,它的文字界面更加省能存,更加稳定,更加短小精悍,有时候还需要远程ssh到服务器上,更没有界面可言,所以还是老老实实适应vim吧。
不过vim有很多强大的插件,也可以将vim变成一个不亚于vs一些常见功能的ide,当然还是要去熟悉背一些键盘指令。
0.vim插件的安装都是一个套路,先熟悉vim的主要文件夹,vim的主要文件夹一般在/usr/share/vim/vim**/下面
里面的plugin一般就是放.vim插件的地方,里面的doc存储插件的文档。
此外还有vimrc是vim的配置文件,全局的在/etc/vim下面,用户的一般在~/.vimrc中,如果没有就从全局的拷贝一个,没有用户的酒直接使用全局的了
1.首先安装nerdtree,他提供一个树形文件浏览器,首先去下载它,vim的插件一般都在vim的主页可以找到,在这里http://www.vim.org/scripts/script_search_results.php
去里面搜nerdtree,就可以下载一个,下载后把里面相应的.vim文件拷贝到plugin下面,doc文件拷入doc文件夹
在vimrc里加入一个键盘映射
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
按F3弹出nerdtree窗口
在多个窗口间切换,一般使用ctrl+W结合上下左右键进行
2.安装ctags,ctags可以为代码生成tag,这样让vim识别一些关键的tag在代码里通过一些指令可以快速的跳到定义的地方,一般的ide都有这个功能(下载安装方式同nerdtree)
首先需要产生ctags,在你的代码根目录运行ctags -R 会产生tags文件,再再vimrc里面加入一行set tags=***/tags就可以了
一些常用操作包括在某个tag处按crtl+]就可以找到它的所有引用,进入某个引用后,按ctrl+T就可以回到浏览堆栈的上一层
3. 安装taglist,它可以弹出一个独立的窗口,里面列出当前代码里所有的tag。安装好后一般在vimrc里面设置
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1
let Tlist_Auto_Open=1
let Tlist_Close_On_Select=1
进入vim后,输入Tlist即可打开taglist窗口
4.安装cscope,cscope可看做是更加强大ctag,可以完成很多tag的浏览,文件的查找工作,安装好后,和ctag类似,首先也需要生成标签,在代码跟目录运行cscope -Rbq就可以生成标签文件cscope.out,在vimrc中加入
:cs add coderoot/cscope.out coderoot 导入这些tag
一般还加入:set cscopequickfix=s-,c-,d-,i-,t-,e-
cscope的主要功能是通过同的子命令"find"来实现的
"cscope find"的用法:
cs f c|d|e|f|g|i|s|t name
0 或 s | 查找本 C 符号(可以跳过注释) |
1 或 g | 查找本定义 |
2 或 d | 查找本函数调用的函数 |
3 或 c | 查找调用本函数的函数 |
4 或 t | 查找本字符串 |
6 或 e | 查找本 egrep 模式 |
7 或 f | 查找本文件 |
8 或 i | 查找包含本文件的文件 |
5.安装minibufferexplorer,它可以同时开多个文件窗口,方便多个文件同时打开来回切换,安装好后
在vimrc里面设置let g:miniBufExplMapCTabSwitchBufs = 1,就可以在打开的多个窗口间使用tab切换
这样一个很基本的ide就成型了