vim的高级配置与插件安装

时间:2022-09-21 05:03:26

1.vim的环境配置相关文件

(1)/etc/vimrc或~/.vimrc文件

        用户目录下的.vimrc文件就是Vim针对当前用户的主配置文件,该文件不是必备的,没有的话就创建它。文件位于当前用户的主目录下,可以用~/.vimrc找到,vim启动时会自动运行文件中的每条命令。
        通过.vimrc我们可以为vim进行个性化配置,包括使用方式、显示风格、编写函数和运行插件等,.vimrc中所有的命令都可以在Vim运行时通过类似:comm args[=args1]的方式动态运行,即时生效。

       当我们在一个vim的窗口中使用:set命令时,例如设置行号:set nu,那我们退出vim后,下次再使用vim时,行号就会消失了。如果我们想要配置一直生效,可以修改~/.vimrc文件,但是这个设置只对当前用户有效,对其他用户是没有效果的。如果我们想要将vim配置的修改应用到所有用户,那么我们就去修改/etc/vimrc配置文件。注意用户的vimrc文件是个隐藏文件,而系统的不是哦。如果~/.vimrc文件不存在的话,新创建一个就好了。
      一般情况下,我们去修改~/.vimrc文件就好了,尽量不要去修改/etc/vimrc文件。

      如下为一个.vimrc的配置举例:

syn on                      "语法支持

"common conf {{ 通用配置
set ai "自动缩进
set bs=2 "在insert模式下用退格键删除
set showmatch "代码匹配
set laststatus=2 "总是显示状态行
set expandtab "以下三个配置配合使用,设置tab和缩进空格数
set shiftwidth=4
set tabstop=4
set cursorline "为光标所在行加下划线
set number "显示行号
set autoread "文件在Vim之外修改过,自动重新读入

set ignorecase "检索时忽略大小写
set fileencodings=uft-8,gbk "使用utf-8或gbk打开文件
set hls "检索时高亮显示匹配项
set helplang=cn "帮助系统设置为中文
set foldmethod=syntax "代码折叠
"}}

"conf for tabs, 为标签页进行的配置,通过ctrl h/l切换标签等
let mapleader = ','
nnoremap <C-l> gt
nnoremap <C-h> gT
nnoremap <leader>t : tabe<CR>

"conf for plugins {{ 插件相关的配置
"状态栏的配置
"powerline{
set guifont=PowerlineSymbols\ for\ Powerline
set nocompatible
set t_Co=256
let g:Powerline_symbols = 'fancy'
"}
"pathogen是Vim用来管理插件的插件
"pathogen{
call pathogen#infect()
"}

"}}

备注:vimrc文件中双引号(")表示的是注释的意思


(2)~/.vim文件

.vim是Vim的主配置文件夹,位于当前用户的主目录下,可以用cd ~/.vim进入。该文件夹一般用来放置插件和相关的帮助文档,常用的目录结构包括:

  • doc            //帮助文档目录
  • autoload            //vim启动时自动加载的插件目录
  • plugin           //插件目录,一般在使用vim时通过命令呼出
当然,如果你已经安装了足够多插件,那么这个目录下就会变得五花八门,syntax、snippets、indent等文件夹都会冒出来了。


2.vim中的插件介绍及安装配置方法

        之所以说Vim形成了自己的生态环境,就是因为vim具备开放的插件体系,开发者为了提升开发效率,为vim编写了数以万计的插件,我们可以根据需要任意选择,也可以基于vimscript语言开发自己的专属插件。

        每个插件都是以vim为后缀的脚本文件,编写插件的语言一般采用vimscript。vimscript是vim自己的编程语言。尽管vimscript几乎为可以vim做任何事,但还是会存在一些场景,用其他语言更好更快。考虑到这一点,Vim的开发者为其他脚本语言设计了接口,用来编写vim插件,比如Perl,Python和Ruby。

        常用插件分为四种:

     (1)通用插件:适用于所有类型的文件,在使用Vim的时候可以通过插件命令呼出。比如用来快速定位文件的插件CommandT,使用:CommandT即可启动该功能,对任何类型都适用。该类插件一般放置在.vim/plugin/目录下。

     (2)文件类型插件:适用于特定类型的文件,比如c、java、xml等文件。在编辑特定类型的文件时,插件功能才会启用,该类插件一般放置在.vim/ftplugin/目录下。比如我们常用的编辑xml/html/jsp等文件的插件xmledit,安装了该插件后,编辑xml文件时,键入<modules>,当完成了最后的>时,xmledit会自动为你添加闭合标签,<modules></modules>,如果输入了最后一个>,标签会自动展开,方便输入子标签或文本内容。这时如果你用Vim打开一个txt文件,这些功能就消失了。当然,xmledit功能远不止这么简单,我们稍后再详细介绍。

      (3)语法插件:顾名思义,语法插件主要为编程语言提供语法高亮功能,一般放置在.vim/syntax/下。Vim已经默认提供了大部分语言的语法高亮功能,但对于一些比较新的语言,就需要开发者编写支持语法高亮的插件,比如Go语言。

      (4)编译器插件:针对不同语言编写的编译器插件,主要用来设定相关语言的编译器选项。比如针对C、C++、Java、Python等可以编写各自的编译器插件,插件内容并不复杂,主要定义"errorformat"(错误格式定义)及"makeprg"(编译程序和参数)的内容即可。通过:make可以编译正在编辑的文件。


学习资料参考于:

http://www.cnblogs.com/chijianqiang/archive/2012/10/31/vim-2.html

http://www.cnblogs.com/chijianqiang/archive/2012/11/06/vim-3.html