VIM命令图
VIM键盘布局英文
VIM键盘布局中文
图-1:编辑环境
图-2:make编译环境及错误输出Quickfix列表
首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:
user@ubuntu$sudo apt-get install vim vim-scripts vim-doc
其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。
vim中文帮助文档tar包下载地址:
http://sourceforge.net/projects/vimcdoc/files/vimcdoc/
解压后其中有个doc文件夹, 将其中的内容全部复制到~/.vim/doc, 或者vim安装目录下的doc目录中, 此时vim中的help信息已经是中文的了.
网页版中文帮助文档网址http://vimcdoc.sourceforge.net/doc/help.html
首页就时vim帮助文档的目录,阅读起来更方便有效、更有针对性!
Vim强大的功能,其来源基本上就两个地方:Vim插件以及Vim配置文件。
Vim本身的系统配置文件夹是在/usr/share/vim/和/etc/vim/两个文件夹下。一般情况下,我们不会去改变这两个文件夹下的配置文件,而是在用户文件夹/home/user(其中,user为用户名)下建立自己的配置文件。进入用户文件夹(/home/user/)之后,用vim新建一个名叫.vimrc的文件
vimrc 配置文件 http://download.csdn.net/detail/ajian005/8007405
ctags可以建立源码树的标签索引(标签就是一个标识符被定义的地方,如函数定义),使程序员在编程时能迅速定位函数、变量、宏定义等位置去查看原形
以下是在ubuntu下ctags的下载安装和配置过程:
下载并安装ctags,终端输入命令
lingd@ubuntu:~/arm$ sudo apt-get install ctags
建立源码索引,比如我经常需要查阅Linux的内核代码,而这些代码放在/home/lingd/arm/linux-2.6.24.7目录下
那么在终端进入到该目录后,输入命令ctags -R *,你会发现多了一个tags文件,这个就是索引文件
通过vim-addons,我们可以管理vim插件。我们在sudo apt-get install vim vim-scripts vim-doc时,一般会自动安装上vim-addons。若未安装可通过sudo apt-get install vim-addon-manager手动安装。安装完成后,就可以用vim-addons管理vim插件了。
# 系统中已有的vim-scripts中包含的插件及其状态:
@ubuntu:~$ vim-addons status
# Name User Status System Status
align removed removed
alternate removed removed
bufexplorer removed removed
calendar removed removed
closetag removed removed
colors-sampler-pack removed removed
cvsmenu removed removed
debPlugin removed removed
detectindent removed removed
doxygen-toolkit removed removed
editexisting removed removed
enhanced-commentify removed removed
gnupg removed removed
info removed removed
justify removed removed
lbdbq removed removed
matchit removed removed
minibufexplorer installed removed
nerd-commenter removed removed
omnicppcomplete installed removed
po removed removed
project installed removed
python-indent removed removed
secure-modelines removed removed
snippetsEmu removed removed
sokoban removed removed
supertab removed removed
surround removed removed
taglist installed removed
tetris removed removed
utl removed removed
vcscommand removed removed
vimplate removed removed
whatdomain removed removed
winmanager installed removed
xmledit removed removed
上面我们介绍了如何独立于系统配置文件之外,建立自己的Vim配置文件。当我们自己下载安装Vim插件的时候,也可以另外建立目录,放置我们自己的插件。这个目录一般为/home/user/.vim,另外还需要建立一个插件子目录,一个插件文档子目录,以上的可以进入/home/user目录下通过下面的命令执行:
@ubuntu:~$ mkdir .vim
@ubuntu:~$ cd .vim
@ubuntu:~/.vim$ mkdir plugin
@ubuntu:~/.vim$ mkdir doc
# vim官方插件的安装,xxxx是要安装的插件名,以status中显示的名称为准。安装插件xxxx时使用以下命令(前提是在目录/home/user/.vim/下建立好了plugin和doc两个文件夹)
vim-addons install xxxx
关于vim-addons命令的详细用法,可以通过“man vim-addons”查看其帮助文档
vim的自动补全功能可通过其插件OmniCppComplete实现。
安装OmniCppComplete
@ubuntu:~$ vim-addons install omnicppcomplete
配置OmniCppComplete
echofunc可以在命令行中提示当前输入函数的原型。
echofunc下载地址:http://www.vim.org/scripts/script.php?script_id=1735
下载完成后,把echofunc.vim文件放到 ~/.vim/plugin文件夹中
当你在vim插入(insert)模式下紧接着函数名后输入一个"("的时候, 这个函数的声明就会自动显示在命令行中。如果这个函数有多个声明, 则可以通过按键"Alt+-"和"Alt+="向前和向后翻页, 这个两个键可以通过设置g:EchoFuncKeyNext和g:EchoFuncKeyPrev参数来修改。这个插件需要tags文件的支持, 并且在创建tags文件的时候要加选项"--fields=+lS"(OmniCppComplete创建的tag文件也能用), 整个创建tags文件的命令如下:
$ ctags -R --fields=+lS
Taglist用于列出了当前文件中的所有标签(宏, 全局变量, 函数名等)
安装Taglist
@ubuntu:~$ vim-addons install taglist
WinManager用于管理文件浏览器和缓冲区(buffer)。2.0以上版本的WinManager还可以管理其他IDE类型插件,不过要用户在插件中增加一些辅助变量和hook来支持WinManager(帮助文档有相关说明)。
Taglist插件本身就提供了对WinManager的支持,不需要我们去修改它。这里,我们就用WinManager来管理文件浏览器netrw和标签浏览器Taglist。netrw是标准的vim插件, 已经随vim一起安装进系统里了, 不需要我们自行下载安装。
安装WinManager
@ubuntu:~$ vim-addons install winmanager
MiniBufferExplorer用于浏览和管理buffer,如果只打开一个文件,是不会显示在屏幕上的,而打开多个文件之后,会自动出现在屏幕上。vim也有自带的buffer管理工具,不过只有:ls, :bnext, :bdelete 等的命令, 既不好用, 又不直观.
关于vim缓冲区(buffer)和窗口的概念(详见:help windows)
"缓冲区" 是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。
"窗口" 被用来查看缓冲区里的内容。你可以用多个窗口观察同一个缓冲区,也可以用多个窗口观察不同的缓冲区。
@ubuntu:~$ vim-addons installminibufexplorer
折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行。就像一张纸,要它缩短
些,可以把它折叠起来:
Project插件是用来显示项目的目录树的,这个目录树是默认保存在~/.vimprojects文件中。
安装Project
@ubuntu:~$vim-addons install project
Project目录树可以通过下面的步骤生成:
1) 打开vim在命令模式下输入 :Project,在屏幕的最左边就会出现一个project框。不过因为没有初始化暂时是空的
2)在命令模式下(不是插入模式)输入\C (大写的C),会出现下面这些信息:
Enter the Name of the Entry: xxxx (输入项目名称)
Enter the Absolute Directory to Load: /xxx/xxx/xxx (输入项目根目录的绝对路径)
Enter the CD parameter: . (“.”为当前目录)或者和项目根目录一致
Enter the File Filter: *.* (符合条件的源文件,可以是*.cpp/*.h等)
PS:项目目录可以嵌套。而且更改之后在~/.vimprojects文件中就能看到内容,你可以手动进行更改。
通过quickfix命令集,你可在 Vim 内编译程序并直接跳转到出错位置进行修正。你可以接着重新编译并做修正,直到不再出错为止。
Cscope是一个类似于ctags的工具,不过其功能比ctags强大很多。
安装Cscope
@ubuntu:~$ sudo apt-get install cscope
1 C语言 debug功能支持的不太好,不如emacs
2 不支持IDE的重构功能, 这个是已经是IDE的核心功能了
3 不能像emacs那样作为一个大而全的集成工具 (邮件、浏览网页、玩游戏),VIM主要还是以编辑器为自己的地盘
4 在Unix/Linux等环境下使用的比较多,在Window 或Mac 图形界面系统中有很多优秀的集成开发环境: VS, Eclipse, IDEA, NetBean... ...
1 ctags 生成C 和操作系统的*.h文件时,定位不准确的问题?
2 每次打开VIM都要从头开始,不能记住上次VIM使用的位置和布局结构?
3
vim: http://www.vim.org
vim: http://michael.peopleofhonoronly.com/vim/
VIM实战手册 http://blog.csdn.net/poechant/article/category/1060706
手把手教你把Vim改装成一个IDE编程环境(图文) http://blog.csdn.net/wooin/article/details/1858917
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
一步步将vim改造成C/C++开发环境(IDE) (Ubuntu) http://blog.163.com/023_dns/blog/static/1187273662012125112426472/
程序员的编辑器——VIM http://arch.pconline.com.cn//pcedu/soft/gj/photo/0609/877033.html
拼装的艺术:vim之IDE进化实录 http://blog.csdn.net/yangyang_gnu/article/details/6642271
VIM改造计划 http://x-slam.com/linux/vim
为 Vim 编辑器开发定制插件 http://www.ibm.com/developerworks/cn/aix/library/au-vimplugin/
vim插件管理利器:pathogen http://blog.csdn.net/zhaoyw2008/article/details/8012757
Chrome神器Vimium快捷键学习记录 http://www.cppblog.com/deercoder/archive/2011/10/22/158886.htmlv
vi/vim使用进阶 http://easwy.com/blog/archives/advanced-vim-skills-catalog/