本文主要介绍如何从0开始,构造适合自己的vim。目的不是比较什么编辑器更好,也不是宣传vim多么神奇,只是想给需要的人提供一些帮助。
文章以 ubuntu14.04 , Vim 7.4 为例子。主要介绍如何自己动手构造能高效编码的Vim,而不是使用已有的配置。这里说明,已有的配置固然很好,但是也是有针对性,初用Vim应该在探索中发现自己喜欢的配置。
首先,原始的vi用起来是很别扭的。我新装了一个虚拟机,里面还没有vim,只有vi。
可以看到,刚装上的时候vi是相当之简陋。↑↓←→四个键都不能用。
sudo apt-get install vim
这里当然提前要把源设置好。如何设置源不是本文讨论的范围。
Vim安装完成之后,会自动覆盖vi。现在的vim已经是一个可以使用的版本了。忍不住来一段HelloWorld。
唉~~~~那么问题来了:
首先介绍一下这个.vimrc文件。这个文件在根目录里面,ls查看不到,用ll可以看到。这个文件是vim的配置文件,想要解决上面的几个问题,我们需要更改这个文件里面的一些内容。
初次使用根目录中可能根夲就没有.vimrc文件。noproblem,可以自己建一个。
vi .vimrc
打开了一个空文件,我们先来加一点东西在里面。
set nu //加入行号显示 set ts=4 //将tab键宽度定义为4 set expandtab //用空格代替tab
保存退出。再次进入刚刚的.vimrc,行号出来了。按一下tab试试,4空格!YES!
颜色还是那么难看。没关系,这个是可以调的。首先,终端要改成用户自定义颜色。Edit->Profile_Proference
需要将这个对钩去掉。然后自己选一个想要的底色。
然后,在 usr/shared/vim/vim74/color
里面,有很多配色方案。打开.vimrc,加入
colorscheme desert //此处desert可换成任意一种配色方案
再次启动vim。
好看了??- -|||
set cindent set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
将着两行也加入到.vimrc, 可以让代码以C风格缩进。编辑的时候不用频繁的敲tab和space了。
上面简单介绍了vim的初步配置,但是,仅仅这样还是不够。你可能会喜欢Eclipse左边的文件树结构,可能也喜欢Eclipse可以显示一个类里面的所有方法,也可能喜欢Eclipse的静态语法检查,也可能喜欢Eclipse的......
怎么都是Eclipse! - -|||因为Eclipse实在太好用...
我想说的是,Eclipse有的功能,vim一样可以。要实现诸多的功能,vim需要安装一些插件。
vim插件众多,配置插件更是一件麻烦事儿,不过没关系,推荐大家一款插件管理器 Vundle
。有了Vundle,插件的安装不再麻烦。
当然,首先你要有一个Vundle。
Vundle网址
参考里面的安装方式,首先你要装git,用git装Vundle。
没事,咱们就先装个git。
sudo apt-get install git
搞定!
下面可以安装Vundle了。
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
NOTE:如果https访问失败,可以改正git试一下。
好了,Vundle也有了。在我们安装我们喜欢的插件之前,要按照vbundle的说明书,自己看看 .v imrc
里面需要怎么写。
请仔细阅读Vundle的说明书。就那么一页纸,please~~~
我们的.vimrc文件现在应该改成这个样子。想装的插件必须放在begin()和end()中间。其中这个Vundle.vim是必须要有的。
现在打开vim,在命令模式下
:PluginInstall
试一下。此时插件Vbundle正在安装。
安装完成后,左下角会出现Done!
此时我们已经可以安装自己想要的任何插件了。不过首先你要有插件 - -||||
NerdTree 可以让你的vim拥有文件树,just like Eclipse and vs。
ctrlp 可以方便的在vim打开文件。
将上面两个插件的git地址,按照vundle要求的格式加入.vimrc。
还是按照上面的步骤,运行vim,执行
:PluginInstall
安装完成后,打开刚刚的HelloWorld。输入
:NERDTreeToggle
打开了文件树。
在命令模式下,ctrl-p,可以打开文件检索。
vim还有很多有意思的插件,有了这些插件,可以极大的提高我们的工作效率。
最后感觉,插件的并不是越多越好,也不是vim就是最好。写java裸体Eclipse跟全副武装的vim谁更好用不言自明。所以,针对不容的环境,不同的项目,应选择最合适的编辑器,就像不同的项目要用不同的开发语言一样。