一直以来都没有好好得学习一下Vim,甚至连基本的Vim文件夹都搞不清楚。工作中总会有不想兴师动众使用IDE的时候,但是配置不好的Vim用起来又特憋屈。
之前使用了spf13的一个vim配置,但是我觉得那个太复杂了,倒不如自取所需,自己来配置一些。首先还是先学习一下Vim的文件夹吧。
其实很多东西都可以通过vim的:help
查到。
系统文件夹
我的是在/usr/share/vim/vim74
,这个文件夹是安装vim时自动创建的,包含了一些vim默认的配置,最好不要直接在上面做配置。
但是,其下的子文件夹分布和我们要做自定义配置时的文件夹分布是差不多的。所以可以提前来看一下其中经常用到的。
autoload
简单来说,文件夹autoload
包含了一些vim脚本文件,这些文件定义了一些函数,当我们调用这些函数的时候,vim会到runtimepath
中的autoload
文件夹中查找相应的函数。
举例来说:
:call filename#funcname()
这时,vim就会到runtimepath
的autoload
目录中寻找一个名为filename.vim
的脚本文件,该文件应该包含这样一个函数:
function filename#funcname()
#do something ...
endfunction
从这里看出,之所以说是auto,就是我们没有指定函数的定义,但我们放在autoload
中,让vim可以按照规则自己找到。
colors
该文件夹存放vim的颜色方案脚本文件。
vim中执行命令:colo[rscheme] {name}
,vim会到runtimepath
中寻找名为colors/{name}.vim
的文件,第一个被找到的文件会被加载
ftplugin
该目录存放不同filetype的plugin脚本
当vim检测到文件的类型时,会到该目录加载相应的plugin
这些类型的文件都可以被加载到
ftplugin/<filetype>.vim
ftplugin/<filetype>_<name>.vim #注意要用下划线区分开
ftplugin/<filetype>/<name>.vim #这两个name都可以是任意的
plugin
vim plugin是一些vim脚本,在vim启动的时候加载
plugin分为两类:
- global plugin:适用于所有文件类型,存放在
$VIMRUNTIME/plugin/
- filetype plugin:只适用于特定类型的文件,存放在
$VIMRUNTIME/ftplugin/
syntax
该目录存放vim的语法高亮脚本(syntax highlighting),类似ftplugin,对不同语言有不同的syntax文件{name}.vim
定制文件夹
说完系统全局的配置目录,来说用户定制的配置目录,一般是~/.vim/
基本上,其布局和系统文件夹一样,所以也可以有autoload
, plugin
, ftplugin
等。