Ubuntu下把Vim配置成IDE

来源:互联网 发布:图论 教材 知乎 编辑:程序博客网 时间:2024/05/21 09:11
参考:一步步将vim改造成C/C++开发环境(IDE) http://blog.csdn.net/yinjiabin/article/details/8254609
1.安装 $sudo apt-get install vim vim-scripts vim-doc
2.建立 .vimrc :gedit .vimrc,配置可以用【2】中的,但是第三行改为 runtime! debian.vim  
3.安装ctags: $ sudo apt-get install exuberant-ctags
添加要生成ctags的路径
4.建立vim插件目录:
$ mkdir .vim
$ cd .vim
$ mkdir plugin
$ mkdir doc    
以后安装官方插件,可以使用 vim-addons install xxxx

5. 自动补全:$ vim-addons install omnicppcomplete,配置.vimrc
使用Ctrl+X Ctrl+O

6.暂时未用

7.Taglist:http://vim-taglist.sourceforge.net/index.html
vim-addons install taglist 
进入vim后用命令":Tlist"打开/关闭taglist窗口
帮助文档
:help taglist.txt

8. WinManager: $ vim-addons install winmanager 
常用命令
:WMToggle 打开/关闭WinManage,不过我们在配置文件.vimrc中做了快捷键映射,所以直接按wm就可以打开/关闭WinManage
文件浏览器命令(在文件浏览器窗口中使用)
<enter>或双击  如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件
<tab>   如果光标下是目录, 则进入该目录; 如果光标下文件, 则在新窗口打开该文件
<F5> 刷新列表
-  返回上一层目录
c  使浏览目录成为vim当前工作目录
d  创建目录
D  删除当前光标下的目录或文件
i  切换显示方式
R  文件或目录重命名
s  选择排序方式
r  反向排序列表
x  定制浏览方式, 使用你指定的程序打开该文件
winmanager帮助文档
:help winmanager
netrw帮助文档
:help netrw

9.MiniBufferExplorer
常用命令
<Tab>  移到上一个buffer
<Shift-Tab> 移到下一个buffer
<Enter>  打开光标所在的buffer
d   删除光标所在的buffer

12、quickfix
帮助文档
:help usr_30
:help quickfix
下面的命令运行 "make" (包括你所给出的参数) 程序并捕捉其运行结果: >
 :make {arguments}
如果编译时出现错误,按 <Enter>,回到vim界面,看不到出错信息了!这时,可以运行以下命令
:cw[indow]
打开quickfix窗口来查看出错信息,它会自动跳到第一处出错的地方。然后,你可以双击出错某一条出错信息,vim就会自动跳转到相应的出错位置
:cn[ext]  光标移到下一个错误所在的行
:cp[revious] 光标移到上一个错误所在的行
:cfirst  到第一处错误
:clast  到最后一处错误
:cc   空间不够时,Vim 会缩短出错信息。如果你想查看详细信息,可以使用此命令
:cl[ist] 列出所有出错信息的概览(只有那些含有文件名或行数的错误信息会被显示,需要查看那些并不含文件名或行数的信息可用“:cl[ist]!”命令)

13、Cscope
cscope的主要功能是通过其"find"子命令来实现的
"cscope find"的用法:
cs find 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  查找包含这个文件的文件
用法:
<1>、为源码建立一个cscope数据库
lingd@ubuntu:~/arm/linux-2.6.28.7$ cscope -Rbq
lingd@ubuntu:~/arm/linux-2.6.28.7$ ls cscope.*
cscope.in.out  cscope.out  cscope.po.out
<2>、用vim打开某个源码文件,末行模式下,输入“:cs add cscope.out"(该命令已被我们映射为快捷键F4),添加cscope数据库到vim。因为我们已将vim配置为启动时,自动添加当前目录下的cscope数据库,所以你再添加该cscope数据库时,vim会提示“重复cscope数据库 未被加入“
<3>、完成前两步后,现在就可以用“cs find c”等Cscope查找命令查找关键字了。我们已在.vimrc中将“cs find c”等Cscope查找命令映射为<C-_>c等快捷键(按法是先按Ctrl+Shift+-, 然后很快按下c)
 
帮助文档
:help if_cscop
注意:帮助文档if_cscop中,快捷键映射nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>是有误的!
比如光标“header.h”上按下<C-_>i,也就是查找包含“header.h“的文件。但是按照这个映射规则,则是将<C-_>i映射为cs find i ^header.h$,也就是查找包含“^header.h$“的文件,这显然不是我们想要的结果。该映射规则应该改成nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<CR><CR>

vim常用快捷键
%  跳转到配对的括号去
[[  跳转到当前或者上一代码块(函数定义、类定义等)的开头去(但要求代码块中'{'必须单独占一行)
][  跳转到当前代码块(函数定义、类定义等)的结尾去(但要求代码块中'{'必须单独占一行)
]]  跳转到下一代码块(函数定义、类定义等)的开头去(但要求代码块中'{'必须单独占一行)
[/  跳到注释开头(只对/* */注释有效)
]/ 跳到注释结尾(只对/* */注释有效)
gD  跳转到当前文件内标识符首次出现的位置,可用于跳转到全部变量的定义处;查找局部变量时,要是多个函数中定义了该局部变量,使用gD进行查找,找到的变量定义可能不是你需要的
gd 跳转到当前函数内标识符首次出现的位置,可用于跳转到局部变量的定义处
''  跳转到光标上次停靠的地方, 是两个', 而不是一个"
mx  设置书签,x只能是a-z的26个字母
`x  跳转到书签处("`"是1左边的键)
>  增加缩进,"x>"表示增加以下x行的缩进
<  减少缩进,"x<"表示减少以下x行的缩进
其他资料:
Vim Cheat Sheat for Programmers by Michael Pohoreski:http://michael.peopleofhonoronly.com/vim/
参考:
【1】手把手教你把Vim改装成一个IDE编程环境(图文):http://blog.csdn.net/wooin/article/details/1858917
【2】一步步将vim改造成C/C++开发环境(IDE):http://blog168.chinaunix.net/space.php?uid=23089249&do=blog&id=2855999
0 0