把VIM配置成IDE开发环境


VIM常用命令

把VIM配置成IDE开发环境_第1张图片

VIM命令图

把VIM配置成IDE开发环境_第2张图片

把VIM配置成IDE开发环境_第3张图片

VIM键盘布局图

VIM键盘布局英文


把VIM配置成IDE开发环境_第4张图片

VIM键盘布局中文

把VIM配置成IDE开发环境_第5张图片


将VIM配置成IDE(通过 VIM基本插件 和VIM配置文件)


Ubuntu14下我的VIM IDE配置的效果图

把VIM配置成IDE开发环境_第6张图片

图-1:编辑环境

把VIM配置成IDE开发环境_第7张图片

图-2:make编译环境及错误输出Quickfix列表

1、安装Vim和Vim基本插件

首先安装好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帮助文档的目录,阅读起来更方便有效、更有针对性!
 

2、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

3、ctags安装与配置

ctags可以建立源码树的标签索引(标签就是一个标识符被定义的地方,如函数定义),使程序员在编程时能迅速定位函数、变量、宏定义等位置去查看原形
以下是在ubuntu下ctags的下载安装和配置过程:
下载并安装ctags,终端输入命令
lingd@ubuntu:~/arm$ sudo apt-get install ctags
建立源码索引,比如我经常需要查阅Linux的内核代码,而这些代码放在/home/lingd/arm/linux-2.6.24.7目录下
那么在终端进入到该目录后,输入命令ctags -R *,你会发现多了一个tags文件,这个就是索引文件


4、管理vim插件——vim-addons

通过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”查看其帮助文档

5、vim自动补全——OmniCppComplete

vim的自动补全功能可通过其插件OmniCppComplete实现。
安装OmniCppComplete
@ubuntu:~$ vim-addons install omnicppcomplete
配置OmniCppComplete

6、提示函数原型echofunc

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

7、标签浏览器Taglist

Taglist用于列出了当前文件中的所有标签(宏, 全局变量, 函数名等)
安装Taglist
@ubuntu:~$ vim-addons install taglist

 8、文件浏览器和缓冲区管理器WinManager

WinManager用于管理文件浏览器和缓冲区(buffer)。2.0以上版本的WinManager还可以管理其他IDE类型插件,不过要用户在插件中增加一些辅助变量和hook来支持WinManager(帮助文档有相关说明)。
Taglist插件本身就提供了对WinManager的支持,不需要我们去修改它。这里,我们就用WinManager来管理文件浏览器netrw和标签浏览器Taglist。netrw是标准的vim插件, 已经随vim一起安装进系统里了, 不需要我们自行下载安装。
安装WinManager
@ubuntu:~$ vim-addons install winmanager

9、buffer管理器MiniBufferExplorer

MiniBufferExplorer用于浏览和管理buffer,如果只打开一个文件,是不会显示在屏幕上的,而打开多个文件之后,会自动出现在屏幕上。vim也有自带的buffer管理工具,不过只有:ls, :bnext, :bdelete 等的命令, 既不好用, 又不直观.
关于vim缓冲区(buffer)和窗口的概念(详见:help windows)
"缓冲区" 是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。
"窗口" 被用来查看缓冲区里的内容。你可以用多个窗口观察同一个缓冲区,也可以用多个窗口观察不同的缓冲区。

@ubuntu:~$ vim-addons installminibufexplorer

10、代码折叠fold

折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行。就像一张纸,要它缩短
些,可以把它折叠起来:

11、项目目录数管理器Project

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文件中就能看到内容,你可以手动进行更改。

12、quickfix命令集

通过quickfix命令集,你可在 Vim 内编译程序并直接跳转到出错位置进行修正。你可以接着重新编译并做修正,直到不再出错为止。

13、Cscope

Cscope是一个类似于ctags的工具,不过其功能比ctags强大很多。
安装Cscope
@ubuntu:~$ sudo apt-get install cscope


VIM优缺点:

VIM优点

1 根据设定可以和原始vi完全兼容
2 多缓冲编辑
3 任意个数的分割窗口(横,竖)
4 具备列表和字典功能的脚本语言
5 可以在脚本中调用 Perl, Ruby, Python, Tcl, MzScheme ,C,C++
6 单词缩写功能
7 动态单词补完
8 多次撤销和重做
9 对应400种以上文本文件的语法高亮
10 C/C++, Perl, Java, Ruby, Python 等40种以上语言的自动缩排
11 利用ctags的标签中跳转
12 崩溃后文件恢复
13 光标位置和打开的缓冲状态的保存 复原(session功能)
14 可以对两个文件进行差分,同步功能的diff模式
15 远程文件编辑 。

VIM缺点

1 C语言 debug功能支持的不太好,不如emacs

2 不支持IDE的重构功能, 这个是已经是IDE的核心功能了

3 不能像emacs那样作为一个大而全的集成工具 (邮件、浏览网页、玩游戏),VIM主要还是以编辑器为自己的地盘

4 在Unix/Linux等环境下使用的比较多,在Window 或Mac 图形界面系统中有很多优秀的集成开发环境: VS, Eclipse, IDEA, NetBean... ...


使用VIM中的问题列表:

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/


你可能感兴趣的:(1.3,学习方法,1.1.1.8,C,C++,Object-C,1.1.1.9,Java,C#,1.1.1,信息技术,1.1.1.6,程序语言基础,1.1.1.8,软件工程)