配置gvim,建立ide环境(持续更新)

自己学服务器程序已经有一段时间了。的确,在Unix/Linux下,会有很多机会用到vi,开发、编译和发布环境都在服务器端。

但苦于vi学习曲线太陡,所以自己就在linux下用起了Qtceator。这样最起码比用vs编码,再上传到linux上方便。想想以前学嵌入式时,也是用Qtceator。所以就很快转变起来了。

但是,越到后面,我就越觉得,Qtceator也不怎么好用了。在编码方面跟vi无法比。

其实,终究到底,都是自已嫌麻烦,没有钻研精神。最后还是要配一配vim,学一学vi的语法。

其实这样的例子在网上有很多,但怎样打造自己的编程环境还是很有讲究的。

俗话说,工欲善其事必先利其器,选来选去,还是配一下vi吧,毕竟emacs没用过。就用着凑合凑合,向大牛学习学习。顺便打造一下个性编程环境。


gvim

为什么选择gvim?只是为了方便统一。

运行gvim执行文件,选择完全安装(Full),我的安装目录是默认的C:\Program Files\Vim。
安装完成后,包括了文件夹vim72和文件夹vimfiles,以及脚本_vimrc。


一、vimrc

用户目录下的.vimrc文件就是Vim针对当前用户的主配置文件,该文件不是必备的,没有的话就创建它。文件位于当前用户的主目录下,可以用~/.vimrc找到,Vim启动时会自动

运行文件中的每条命令。

通过.vimrc我们可以为Vim进行个性化配置,包括使用方式、显示风格、编写函数和运行插件等,.vimrc中所有的命令都可以在Vim运行时通过类似:comm args[=args1]的方式动

态运行,即时生效。

以下是一个.vimrc的样例脚本,包含了一些常用配置,后面的注释是简要说明。

.vimrc的注释用双引号(")表示 ,样例中的大括号仅表示功能区,属于注释的一部分,无其他含义

.vimrc的配置非常丰富,可以定义各种宏、函数、插件和映射,我见过最长的.vimrc配置有1000多行,这里的示例比较简单,适合入门级用户

syn on                      "语法支持

"common conf {{             通用配置

set ai                      "自动缩进

set bs=2                    "在insert模式下用退格键删除

set showmatch               "代码匹配

set laststatus=2            "总是显示状态行

set expandtab               "以下三个配置配合使用,设置tab和缩进空格数

set shiftwidth=4set tabstop=4set cursorline             "为光标所在行加下划线

set number                  "显示行号

set autoread                "文件在Vim之外修改过,自动重新读入

set ignorecase             "检索时忽略大小写

set fileencodings=uft-8,gbk "使用utf-8或gbk打开文件

set hls                     "检索时高亮显示匹配项

set helplang=cn             "帮助系统设置为中文

set foldmethod=syntax       "代码折叠"}}

"conf for tabs, 为标签页进行的配置,通过ctrl h/l切换标签等

let mapleader','nnoremap<C-l> gt

nnoremap<C-h> gT

nnoremap<leader>t : tabe<CR>

"conf for plugins {{ 插件相关的配置"状态栏的配置"powerline{

set guifont=PowerlineSymbols\ for\ Powerline

set nocompatible

set t_Co=256let g:Powerline_symbols'fancy'

"}"pathogen是Vim用来管理插件的插件"pathogen{

call pathogen#infect()

"}

"}}


二、.vim文件夹

.vim是Vim的主配置文件夹,位于当前用户的主目录下,可以用cd ~/.vim进入。该文件夹一般用来放置插件和相关的帮助文档,常用的目录结构包括:

doc                           //帮助文档目录

autoload                      //Vim启动时自动加载的插件目录

plugin                        //插件目录,一般在使用Vim时通过命令呼出


三、插件

1.pathogen

我们首先来介绍这款用来管理插件的插件——pathogen。

(1)功能说明
一个插件包往往具备多种功能,每个文件根据Vim的路径约定会放置到不同的目录下,通用插件放到plugin下,语法高亮插件放到syntax下,自动加载插件放到autoload下,文

件类型插件放到ftplugin下,编码格式插件的放到indent下......如果你是重度插件用户,你会发现在.vim主目录下会有一堆文件夹,无论是你想要安装新插件,还是想删除旧插

件,都非常麻烦,你不得不在每个文件夹下找相关的vim文件。

pathogen是管理插件的插件,主要用来解决上述问题。pathogen采用了bundle的概念来管理插件。

pathogen在.vim目录下建立bundle文件,所有的插件都会在该目录下管理。当Vim启动时,会自动执行runtimepath(rtp)列表中所包含文件夹下的vim脚本,pathogen会在启动

时把./vim/bundle下的文件夹中的插件按照一定顺序递归加载到rtp中,这样Vim启动时,通过pathogen管理的插件就生效了。

有了pathogen之后,一般.vim文件夹下只有三个文件夹:autoload、bundle和doc,其他插件将被安装在bundle文件夹下,如图所示:


如无特殊说明,后面提到的插件都采用pathogen方式安装。

(2)安装
在.vim文件夹下建立autoload和bundle目录

从下载地址获取pathogen.vim文件,将其复制到autoload目录下

在.vimrc文件中增加如下代码:

call pathogen#infect()


(3)注意事项
新插件安装到bundle目录下后,如果插件中包含doc,则需要在Vim中运行:Helptags来生成在线帮助tags。


2.NERDTree

我们在介绍pathogen的时候,用一张图展示了插件的目录结构,这个目录结构就是基于NERDTree插件实现的。

1、功能说明

NERDTree是Vim最常用的插件之一,可以在Vim运行时显示目录和文件结构,类似TextMate左侧的文件浏览器,但操作起来更为方便,你可以在手不离开键盘的情况下快速浏

览文件,并在文件和文件夹之间进行切换。

2、安装

把nerdtree文件夹放进.vim/bundle目录,所有相关插件都在nerdtree该文件夹下

在Vim中运行:Helptags来生成NERDTree的在线帮助tags

3、使用说明

打开Vim,输入:NERDTree,即可呼出执行Vim命令的当前目录的文件目录。为了方便使用,我在.vimrc中定义了快捷键,可以用Ctrl+t打开NERDTree,你可以定义自己习惯的

快捷键。

NERDTree提供了丰富的键盘操作方式来浏览和打开文件,我简单介绍一些常用的快捷键:

和编辑文件一样,通过h j k l移动光标定位

o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中

go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能

i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能

t 在标签页中打开

T 在后台标签页中打开

p 到上层目录

P 到根目录

K 到同目录第一个节点

J 到同目录最后一个节点

m 显示文件系统菜单(添加、删除、移动操作)

? 帮助

q 关闭

想了解更多操作方式,可以通过? 查看详细的帮助信息。


3.ctags

ctags(Generate tag files for source code)是vim下方便代码阅读的工具,简单来说,就是在程序中跳转。它可以帮助程序员很容易地浏览源代码。

1、功能说明

严格意义上来说,ctags并不是Vim的插件,而是Linux/Unix下的标签命令。通过ctags -R命令可以对当前目录下源代码中的类、函数、方法、变量、宏等元素进行索引处理,并

生成索引文件。Vim使用ctags生成的tag文件,即可实现IDE中常用的代码跳转功能。

2、安装

将ctags.exe复制到C:\WINDOWS\system32下,或自己设置环境路径


3、使用说明

打开cmd命令行,切换到你要查看的源代码的根目录处,运行

ctags -R

将会在此目录处生成一个tags文件。

用gvim打开一个代码文件,打以下命令:

set tags=/文件目录/tags

当然,你也可以把这条命令写到.vimrc中。


用gvim打开一个代码文件,将光标放到某一函数名上,按下"ctrl+]",光标会自动跳转到定义处。

按下"ctrl+T"会跳回到原来的位置。

变量、结构体、宏等等,都可以这样做。

当你的源文件有更新时,只能重新运行ctags -R命令,来更新tags文件。


3.窗口管理

将taglist_45.zip解压,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到C:\Program Files\Vim\vim72下的doc及plugin中。
在_vimrc文件中加入以下内容:

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
用gvim打开代码文件(已生成过tags文件),:Tlist,TagList窗口即出现在左侧。
用相同的方法将winmanager.zip解压和拷贝,在_vimrc文件中加入以下内容:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>
用gvim打开代码文件,normal状态下输入命令"wm"

其中左上是netrw窗口(浏览文件),左下是TagList窗口,再次输入"wm"时这两个窗口会关闭。


4.多文件编辑

将minibufexpl.vim复制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplMapWindowsNavVim=1
let g:miniBufExplMapWindowNavArrows=1
当用gvim打开两个或两个以上的文件时,会自动弹出MiniBufExplorer窗口


5.快速切换头文件/源文件

将a.vim复制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
nnoremap <silent> <F12> :A<CR>
用gvim打开源码文件后,按F12即可以在c/h文件中切换,也可以通过输入:A实现。


6.在工程中快速查找

将grep.vim复制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
nnoremap <silent> <F3> :Grep<CR>
用gvim打开源码文件,并将光标定位到要查找的内容上,按下F3,确定要查找的内容和搜索范围,gvim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果。确定查找内容时,支持正则表达式。


7.高亮的书签

将visualmark.vim复制到C:\Program Files\Vim\vim72\plugin。
用gvim打开源码文件,将光标定位在需要添加书签的地方,按下ctrl+F2,即添加了书签。

使用F2在书签之间正向切换,shift+F2反向切换。


你可能感兴趣的:(vi,vim,gvim)