1. vim 的安装及配置
目录
正文
简介
vim是什么
vim是一款功能强大、支持各种插件、配置极为灵活的编辑器,且支持多种主流OS(linux、Unix、mac、windows),可用来各种编程预言的coding和文件编辑,用习惯了vim,你会体会到它是如此的高效和便捷。引用官网(www.vim.org)上vim的自我介绍说:
“Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.Vim is often called a "programmer's editor," and so useful for programming that many consider it an entire IDE. It's not just for programmers, though. Vim is perfect for all kinds of text editing, from composing email to editing configuration files. Despite what the above comic suggests, Vim can be configured to work in a very simple (Notepad-like) way, called evim or Easy Vim.”
本文主要通过一些示例介绍下如何定制自己专属的基于vim的IDE编程环境(主要针对c/c++,其他语言亦可采用相同的思路)。下面我们就一步一步来介绍,一砖一瓦从零开始建造我们基于VIM的友好的IDE环境。
vim的下载与安装
可以尝试:http://www.cnblogs.com/highway-9/p/5984285.html
1. 在线安装
直接shell中输入如下命令:
sudo apt-get install vim (ubuntu) yum install vim (redHat/Fedora/CentOS)
linux会自动检测并下载安装。apt-get 安装出错,点这里。
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 ( WINDOW用户在次目录下编辑文件_vimrc完成下面配置 ) :echo $HOME(查看具体路径值)
~/.vimrc有时并不存在,此时用户可以建立一个.vimrc,放入主目录以实现自己的vim配置。
2. 主要命令参数 .
vimrc通常用于指定vim的编辑参数和外观环境。下面列出常用的命令参数及其含义:
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
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.youkuaiyun.com/g_brightboy/article/details/16830395
taglist的安装和使用方法,请猛击:http://blog.youkuaiyun.com/g_brightboy/article/details/16843899
AutoComplPop和OmniCppComplete的安装和使用方法,请用力敲鼠标左键:http://blog.youkuaiyun.com/g_brightboy/article/details/19498983