一篇文章加深对vim管理资源以及插件的认识

前言

该篇文章旨在对vim的资源管理和vim的插件的配置方面的理解

一、vim的系统配置文件和用户配置文件

vim在启动时会读取两种文件,第一种是vim在系统里的配置文件,另一种就是用户自己配置的文件

  1. 系统配置文件(文件路径:/etc/vim/vimrc)
    这个vimrc是可以进行编辑的文件,但是只能由root用户进行编辑配置,列出其参数
ls -l /etc/vim/vimrc
-rw-r--r-- 1 root root 6781 Mar 11 16:55 /etc/vim/vimrc

可以看到只有root用户可以编辑,其他用户不能进行编辑,而vim有一个链接文件,可以对所有用户生效,而这个文件是这个vim系统配置文件的链接文件,其位置在/usr/share/vim/vimrc,列出参数

ls -l /usr/share/vim/vimrc
lrwxrwxrwx 1 root root 14 Feb  3 01:50 **/usr/share/vim/vimrc -> /etc/vim/vimrc**

这里的文件权限码说明这个文件对所有用户都是可读、可写、可执行的

但是笔者试了一下换成其他用户进行修改,发现没有权限修改这个文件,那么根据这个文件的链接性质来看,应该还是只能root用户修改

  • vim在启动时会首先检查这个文件是否存在且可读,并添加这个脚本到系统配置文件中来
" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif

由于linux系统中链接文件的特殊之处,就是说当你在/etc/vim/vimrc这个文件修改的东西会在保存后同步到/usr/shar/vim/vimrc这个文件当中,反之亦然

  1. 用户自定义的配置文件
    当用户自己在自己的根目录下创建了一个.vimrc后,你用当前用户启动vim时,vim的配置文件启动顺序就会变成
    /usr/share/vim/vimrc——>/你的当前用户名/.vimrc
    用户自定义的.vimrc中的语句同类型操作会覆盖系统中的定义操作

综上所述,如果用户要定义一个自己的.vimrc配置文件,直接在自己的根目录下创建一个.vimrc文件即可,如果你没有创建的话,vim会自己读取系统的配置文件链接/usr/share/vim/vimrc

二、vim的资源管理,以及插件管理

vim的资源插件管理是由用户自己添加的,所以vim默认的资源是在用户的根目录下.vim文件夹来进行加载插件的

1. 在配置文件里进行添加的资源

这里的资源管理我以从git上clone的nerdtree插件来说明。

NERDTree我在这里不做多的介绍了,感兴趣的自行百度吧。现在说一下nerdtree的插件实现:

  • 当你从git上clone后nerdtree压缩包解压后,在nerdtreee文件里有一个NERD_tree.vim可执行文件(如果不可执行请用chmod修改权限),nerdtree的功能是由这个脚本实现的,然后在vim的配置文件中添加这个脚本即可
if filereadable("你放NERD_tree.vim的绝对路径")
	source /etc/vim/.vim/plugin/NERD_tree.vim 
endif

再添加

"设置NERDTree按F3显示和隐藏
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
autocmd VimEnter * NERDTree		“设置进入vim自动自行NERDTree这个编辑命令(NERDTree命令打开nerdtree插件)

那么下次你打开vim的时候就会启动nerdtreee了

2.使用vim的插件管理工具来管理插件

这里我用Vundle这个管理插件的工具来说明(Vundle怎么安装请百度),当你从git上clone到Vundile压缩包并解压缩后,百度上的安装教程都会说:需要在.vim目录下创建一个bundle文件夹,再把Vundle.vim这个文件夹拷贝到bundle目录下面,为什么?我们看一下Vunlde的README文档中的相关说明

初始安装 [Vundle]:

   `$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim`

注意到在git进行clone时,将所有的文件克隆到了~/.vim/budle/Vundle.vim这个文件夹下,而“~”表示你当前在终端的操作目录,
一般情况下是你的用户根目录,当然,你也可以在clone的时候不要这个~/.vim/budle/Vundle.vim语句,把下载好的Vundle.vim拷贝到相应的文件夹即可
注意,这里为什么一定要在把Vundle.vim文件夹拷贝到“~.vim/budle”目录下呢
我们再看一看README中的其他说明

3. 配置插件 :
   请将以下加在 `.vimrc` 方可使用Vundle. 删掉你不需要的插件, 这些只是用做示例.
   set nocompatible              " 去除VI一致性,必须
   filetype off                  " 必须
   " 设置包括vundle和初始化相关的runtime path
   set rtp+=~/.vim/bundle/Vundle.vim
   call vundle#begin()
   " 另一种选择, 指定一个vundle安装插件的路径
   "call vundle#begin('~/some/path/here')
   " 让vundle管理插件版本,必须
   Plugin 'VundleVim/Vundle.vim'
   call vundle#end()            " 必须
   filetype plugin indent on    " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
   " 忽视插件改变缩进,可以使用以下替代:
   "filetype plugin on

请注意这条语句

" 设置包括vundle和初始化相关的runtime path
   set rtp+=~/.vim/bundle/Vundle.vim

可见,Vundle.vim要能够在vim的配置文件vimrc(不管是用户还是系统配置文件)下正常启动运行,前提是能正常读取到资源并在正确路径下运行,而资源被我们放在了
/你的用户名/.vim/bundle/下面,“~”代表当前用户的根目录
,所以之前创建文件夹的操作的原因就显而易见了。

Vundle的其他说明请自行阅读

还有一条语句用于Vundle管理插件的安装路径

   call vundle#begin()
   " 另一种选择, 指定一个vundle安装插件的路径
   "call vundle#begin('~/some/path/here')

第一条语句默认在bundle下安装,第二条语句可以改变安装的路径,所以笔者为了方便所有的用户均能享受到vim的插件,我在 /etc/vim 下面创建了 .vim 这个文件夹,再在.vim下面创建bundle文件夹,把Vundle.vim剪贴到 /etc/vim/.vim/bundle,修改vimrc的对Vundle的控制语句

set rtp+=/etc/vim/.vim/bundle/Vundle.vim
call vundle#begin('/etc/vim/.vim/bundle')

将插件放在/etc/vim/.vim/budle下,然后重新启动,所有用户均能享受到vim插件了!(以上操作均只能由root用户操作)


不定期更新


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值