本文转载自http://blog.csdn.net/g_brightboy/article/details/14229139#comments;
【vim的下载与安装】
1. 在线安装
直接shell中输入如下命令:
[plain] view plain copy
在CODE上查看代码片派生到我的代码片
sudo apt-get install vim (ubuntu)
yum install vim (redHat/Fedora/CentOS)
linux会自动检测并下载安装。
2 手动下载编译安装
截止当前最新版本是7.4(vim-7.4.tar.bz2),可在windows环境下载好,拷贝至linux环境安装,或直接linux命令行下载。这里给出 linux直接下载并编译安装(以下均为shell命令):
1). wget下载
wget ftp://ftp.vim.org/ftp/pub/vim/unix/vim-7.4.tar.bz2
(或用ftp命令登陆ftp://ftp.vim.org,get命令获取)
2). 解压
bunzip2 vim-7.4.tar.bz2
3). 解压
tar xvf vim-7.4.tar
4). 进入vim74(解压后的)目录,执行
./configure --disable-selinux --enable-cscope
(./configure -help 查看后面参数选项的含义)
5). 编译
make
6). 安装
make install
只要不出现error即代表成功安装,也可直接用vim命令来检测,或whatis vim(whereis vim)查看。通常情况下,许多发行版会默认安装vim,则可省略上述步骤。
【vim的初始化配置.vimrc】
1. 存放位置
linux环境下vim的初始化配置文件为.vimrc, 通常有两个:系统版本和用户版本,前者不同发行版linux会有不同,一般位于/etc/vimrc,是整个系统vim的默认配置;后者位于~/.vimrc,是当前用户的vim配置,会覆盖系统配置。关于vim的其他配置参数文件位于/usr/local/share/vim/下,可进入vim,在命令模式下键入
:version (查看基本配置路径)
:echo
VIM:echo
HOME(查看具体路径值)
~/.vimrc有时并不存在,此时用户可以建立一个.vimrc,放入主目录以实现自己的vim配置。
2. 主要命令参数
.vimrc通常用于指定vim的编辑参数和外观环境。下面列出常用的命令参数及其含义:
"打开语法高亮
syntax on
"使用配色方案
colorscheme desert
"打开文件类型检测功能
filetype on
"不同文件类型采用不同缩进
filetype indent on
"允许使用插件
filetype plugin on
filetype plugin indent on
"关闭vi模式
set nocp
"与windows共享剪贴板
set clipboard+=unnamed
"取消VI兼容,VI键盘模式不易用
set nocompatible
"显示行号, 或set number
set nu
"历史命令保存行数
set history=100
"当文件被外部改变时自动读取
set autoread
"取消自动备份及产生swp文件
set nobackup
set nowb
set noswapfile
"允许使用鼠标点击定位
set mouse=a
"允许区域选择
set selection=exclusive
set selectmode=mouse,key
"高亮光标所在行
set cursorline
"取消光标闪烁
set novisualbell
"总是显示状态行
set laststatus=2
"状态栏显示当前执行的命令
set showcmd
"标尺功能,显示当前光标所在行列号
set ruler
"设置命令行高度为3
set cmdheight=3
"粘贴时保持格式
set paste
"高亮显示匹配的括号
set showmatch
"在搜索的时候忽略大小写
set ignorecase
"高亮被搜索的句子
set hlsearch
"在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch
"继承前一行的缩进方式,特别适用于多行注释
set autoindent
"为C程序提供自动缩进
set smartindent
"使用C样式的缩进
set cindent
"制表符为4
set tabstop=4
"统一缩进为4
set softtabstop=4
set shiftwidth=4
"允许使用退格键,或set backspace=2
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
"取消换行
set nowrap
"启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
"在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
"光标移动到buffer的顶部和底部时保持3行距离, 或set so=3
set scrolloff=3
"设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
"设定字体
set guifont=Courier_New:h11:cANSI
set guifontwide=新宋体:h11:cGB2312
"设定编码
set enc=utf-8
set fileencodings=ucs-bom,utf-8,chinese
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"自动补全
filetype plugin indent on
set completeopt=longest,menu
"自动补全命令时候使用菜单式匹配列表
set wildmenu
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complet
【vim的语法高亮/配色方案】
vim的配色分两部分:编辑环境配色和文本区域配色
1) vim编辑环境配色:比如Vim编辑区的前景背景色、状态栏颜色、错误提示颜色、查找、光标、圈选区、行号、折叠等的颜色
这里列出几个配色组名及其含义(全部的详细信息查看帮助文件 :help hi 查找 “highlight-group” 即可):
Cursor 光标下的字符颜色
CursorLine 光标所在行颜色
ErrorMsg 命令行出现的错误信息提示
IncSearcg 被搜索字符的颜色
Normal 普通字符
Pmenu 弹出的提示条目颜色
PmenuSel 弹出的提示条目中被选中条目的颜色
SpellBad 拼写错误字符颜色
Visual 可视化模式下选中字符的颜色
Menu 菜单栏的颜色字体
Scrollbar 滚动条的颜色
2) 文本区域配色:可编辑的文本区域的字符配色(详细信息请执行 :help hi搜索 “*comment”)
由于配色种类较多,vim默认分了几大类(帮助信息中带*的):
*Comment 注释
*Constant 常量
*statement 常用关键字标示符
*PrePoc 预处理符号
*Type 数据类型
下面是较为详细的组别:
String 字符串常量: "string abc\n"
Character 单个字符常量: 'c', '\n'
Number 数字常量: 234, 0xff
Boolean 布尔常量: TRUE, false
Function 函数名
Conditional 条件关键字: if, then, else, endif, switch, etc.
Repeat 循环关键字: for, do, while, etc.
Operator 操作符: "sizeof", "+", "*", etc.
Exception 异常关键字: try, catch, throw
这样便可以更为详细的为每一个组别进行配色。
查看当前的vim配色情况
:hi/highlight
另外,文本区域的配色可以关闭,但环境配色不能,通常vim给定的默认可选配色方案中同时包含了以上两个方面。
下面就一条具体的配色命令(对数据类型配色)解释每个字段的含义:
hi Type cterm=none ctermbg=White ctermfg=Green guibg=Gray guifg=Red
hi: highlight的缩写,配色命令
Type: 配色组名,可以自定义(修改$VIMRUNTIME/syntax/下对应的文件可改变不同语言的高亮方案)其内容
cterm,ctermbg,ctermfg,guibg,guifg: 代表了不同显示环境
White,Green: 表示颜色(也可以用数字或者类似与html的16进制颜色表示方法)
显示环境有三种:黑白终端,彩色终端,图形界面,三种环境下参数名称如下:
term attributes in a B&W terminal
cterm attributes in a color terminal
ctermfg foreground color in a color terminal
ctermbg background color in a color terminal
gui attributes in the GUI
guifg foreground color in the GUI
guibg background color in the GUI
其中term仅有黑白两色,cterm下颜色较为单一,GUI模式颜色丰富
若要仅修改某种语言(c、Java、pascal)的配色,则在配色组名前加语言名称即可,比如对c/c++语言的数据类型单独配色:
hi cType ctermfg=Blue
若是修改java/pascal的数据类型,则相应的将cType替换为javaType/pascalType即可。
对于文本区域的语法高亮(即配色),我们可根据需求特殊化定制,比如自定义组: myUniqueWord, mySymbol,使用syn/syntax命令
syn keyword myUniqueWord gang Gang swagger
syn match mySymbol “[,.;(){}[]]” (可使用正则表达式)
vim目前7.4版本给出的可直接使用(colorscheme命令加于.vimrc中即可)的配色方案位于目录:
/usr/local/share/vim/vim74/colors,比如使用desert.vim中的配色,则于.vimrc中添加一行
colorscheme desert
即可
网友提供的配色方案列表(带效果图),可参考:
http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
http://www.oschina.net/news/32306/10-vim-color-schemes-you-need-to-own
:hi/highlight
命令,可查看当前vim的颜色配置
:help hi/highlight
显示帮助文件(syntax.txt,可访问官方在线版http://vimdoc.sourceforge.net/htmldoc/syntax.html)内容,介绍了颜色配置脚本中关键字的含义和使用方法
相同配色vim脚本在不同的终端下可能显示不太一致,这是由终端下颜色设置不一致导致的,属正常情况。
【vim的代码补全、结构化视图】(基于autocomplpop + omnicppcomplete + ctags + taglist + cscope + NERDtree)
先一句话介绍每个插件的用途:
–> ctags: 为源码的变量/对象、结构体/类、函数/接口、宏等产生索引,以便快速查找和定位
- Official site http://ctags.sourceforge.net/
- VIM online http://www.vim.org/scripts/script.php?script_id=610
–> taglist:提供源码的结构化浏览功能
- Official site http://vim-taglist.sourceforge.net/
- VIM online http://www.vim.org/scripts/script.php?script_id=273
–> AutoComplPop:代码补全提示自动弹出
- VIM online http://www.vim.org/scripts/script.php?script_id=1879
–> OmniCppComplete:基于ctags的索引文件提供全面的c++(类成员、继承、this指针、.->访问符等)的代码补全功能
- VIM online http://www.vim.org/scripts/script.php?script_id=1520
–> cscope:对代码产生索引数据库,提供对象接口字符串的查找,并用列表显示(:cw - quickfix)
- Official site http://cscope.sourceforge.net/
- VIM online http://www.vim.org/scripts/script.php?script_id=4082
–> NERDtree:以树形结构显示文件系统的目录(同windows的资源管理器),并可以在目录间切换
- VIM online http://www.vim.org/scripts/script.PHP?script_id=1658
vim支持的几乎所有plugin&&utility都在这里可以下载到(主要以vim脚本的形式)
http://www.vim.org/scripts/index.php
下面逐一介绍各个插件的安装和使用方法
1) ctags
2) taglist
3) AutoComplPop
4) OmniCppComplete
5) cscope
6) NERDtree
(待续)
由于后续各个插件的介绍篇幅较长,单独形成博文,请参考:
ctags 的安装和使用方法,请猛击:http://blog.csdn.net/g_brightboy/article/details/16830395
taglist的安装和使用方法,请猛击:http://blog.csdn.net/g_brightboy/article/details/16843899
AutoComplPop和OmniCppComplete的安装和使用方法,请用力敲鼠标左键:http://blog.csdn.net/g_brightboy/article/details/19498983