使用Eclipse EPIC插件写perl程序有一段时间了,觉得它的自动完成和跳转功能比较弱(可能是因为我不太会使用的原因),决定试试vim,先在Windows 7上安装个vim (我安装的是7.4版本的)学习一下。
本文的配置都是在gVim下实验过的,没有试过terminal下的Vim。
Vim相关的文档和帖子中经常提到的一些东西的解释:
1. $HOME 及 ~ ,这两个基本上是一样的,是你的home目录。$VIM是Vim程序的安装目录, $VIMRUNTIME 一般是Vim程序(比如Windows上是vim.exe,gvim.exe)所在的目录,比如在我的Windows 7上上查到的$VIMRUNTIME是C:\Program Files (x86)\Vim\vim74。 runtimepath和$VIMRUNTIME不是相同的东西,可以在Vim的命令行模式下通过 set rtp查看runtimepath里面含了那些路径。
2.Vim的模式。Vim有多种模式,包括Normal Mode, Insert Mode, Visual Mode,Command-line mode等
3. 在Vim命令行模式下可以通过用echo命令显示一个变量的值,比如 echo $HOME
4. Vim命令行模式下键入命令时,可以用tab键进行自动补全
5. Vim配置文件,Windows上一般是指 $HOME/_vimrc,linux/unix/Max OS一般是 $HOME/.vimrc
6.Vim的个人文件目录,Windows上一般是 $HOME/vimfiles,linux/unix/Max OS一般是 $HOME/.vim
7. 很多plugin的说明中提到了 ,这个默认情况下值得是 \
8. 如果你看到像<C-v>字样的指示,指的是CTRL和v键同时按下。
9. 有时侯字母的大小写代表的是不同的意思,比如F是指Shift+f,和小写的f是不一样的
10. Vim配置文件文件中的注释符号是单个双引号
注意事项:
Vim默认的 Keycodes and maps 超时时间似乎比较短,导致我多次误认为安装上的插件没有正常工作,在配置文件中做了如下设置,好了许多
" Keycodes and maps timeout in 1/2 sec...
set timeout timeoutlen=500 ttimeoutlen=500
VIM配置文件
Windows上配置文件一般是 _vimrc,linux/unix/Mac OS一般是 .vimrc 。
Linux/Unix/Mac OS上将按以下顺序在不同位置寻找配置文件
1)$VIM/.vimrc
2)$HOME/.vimrc
Windows上,VIM将按以下顺序在不同位置寻找配置文件
1)$VIM/_vimrc
2)$HOME/_vimrc
Note: $HOME目录下有配置文件的话,$VIM目录中的配置文件不起作用。
我的配置过程:
在Windows的cmd命令行下没有查到$HOME和$VIM这两个环境变量,但是在powershell下可以看到$HOME变量是有值的。
虽然在cmd或powershell下查不到$VIM变量,但是打开vim,键入echo $VIM命令,可以看到$VIM是C:\Program Files (x86)\Vim,键入echo $HOME命令,可以看到$HOME是C:\Users\xxx (此处xxx是用户名)。
刚安装好Vim后,到$HOME目录查看,没有_vimrc文件,没有vimfiles目录, 到$VIM目录下查看,有_vimrc配置文件,这个配置文件里面又通过source命令引用了$VIMRUNTIME/mswin.vim 和$VIMRUNTIME/vimrc_example.vim。
- 创建自己的配置文件及个人目录
在$HOME目录中新建一个_vimrc文件用来做自己的自定义配置文件,然后在$HOME目录中新建一个vimfiles目录用来存放Vim 各种plugin的文件。
- 安装Pathogen
Pathogen这个Vim插件是用来管理Vim的runtimepath的,这也使在个人目录中安装插件变得非常容易,因为Vim启动的时候会扫描runtimepath下的plugin,syntax等目录加载runtime文件。
如前所述,可以在Vim的命令行模式下通过 set rtp 这个命令查看runtimepath里面含了那些路径。
安装配置步骤:
从github上,点那个”Donwload Zip“按钮,下载 pathogen.vim
在$HOME\vimfiles目录下新建下面两个文件夹
autoload
bundle
把pathogen.vim放到autoload目录中,然后把下面一行添加到$HOME\_vimrc文件中的第一行
execute pathogen#infect()
搞定,随后要安装的plugin只用解压到$HOME\vimfiles\bundle目录下即可
- 安装snipMate
下载snipMate并解压到$HOME\bundle目录下,然后在Vim的命令行模式下运行helptags $HOME\vimfiles\bundle\snipMate\doc,这样就可以在Vim的命令行模式下运行help snipMate来查看它的帮助文件了。
本文接下来提到的Vim插件的安装如没有特殊说明,则安装方法和这个一样。
snipMate简介
snipMate.vim aims to be an unobtrusive, concise vim script that implements some of TextMate's snippets features in Vim. A snippet is a piece of often-typed text