vim 使用系列(三)-- 配置文件加载顺序
发布时间:2022-10-27 12:50:04 所属栏目:Linux 来源:
导读: 这篇文章简单讲讲 ubuntu 下 vim 的配置文件,其他 unix/类 unix 系统应该也是一样的。vim 启动之后将会自动读取它的配置文件。vim 中的配置文件有几种类型,可以通过vim --version查看,或者打开 vim,然后键入
|
这篇文章简单讲讲 ubuntu 下 vim 的配置文件,其他 unix/类 unix 系统应该也是一样的。vim 启动之后将会自动读取它的配置文件。vim 中的配置文件有几种类型,可以通过vim --version查看,或者打开 vim,然后键入:version 查看,如我安装的 vim 输出如下: # 打开 vim,键入 :version VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Mar 18 2021 01:10:23) ... system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" defaults file: "$VIMRUNTIME/defaults.vim" fall-back for $VIM: "/usr/local/share/vim" f-b for $VIMRUNTIME: "/usr/local/share/vim/vim82" ... 如前述,vim 有几种类型,不同 vim 版本输出还不一样,像2nd user vimrc file是在 7.3 版本引入,7.4 版本确认的特性。下面按上面输出顺序一一简述一下: system vimrc file:这个是系统的配置文件,$VIM环境变量在:version中也输出来了,也可以通过:echo $VIM查看,我这里是/usr/local/share/vim。系统的配置文件在多用户管理时挺有用的,系统管理员可以为每个用户的 vim 配置可以使用这个 vimrc 文件。user vimrc file:这个是用户自定义的配置文件,$HOME就是家目录了,也就是~,同样可以通过:echo $HOME查看其绝对路径,我的系统是/home/ql。一般情况下我们都是使用这个文件作为配置文件。2nd user vimrc file:这个是第 2 个用户自定义的配置文件,这个文件的引入是由于一些类 unix 用户觉得单纯在$HOME目录下创建一个 vimrc 文件作为配置文件,又将 vim 的插件等放在别的目录是对$HOME目录的一种污染,所以就引入了第 2 个用户配置文件,用户可以将 vim 的一切配置都放在~/.vim/目录下了,而且如果需要将 vim 的配置拷贝到另一个系统的话,拷贝~/.vim/目录就可以了,比较方便。user exrc file:.exrc文件是 vi 的配置文件,不是 vim 的。defaults file:vim 默认的配置文件,当以上的 vim 配置文件都找不到时linux vim配置文件,vim 就会使用这个文件作为配置文件。 vim 中有这么多的配置文件,到底使用哪个呢?默认情况下(即以vim filename方式启动 vim),vim 8.2 会先尝试读取system vimrc file文件,如果有先加载系统配置文件,然后按以下顺序查找初始化选项,要注意的是,当 vim 找到其中一个就会停止查找: The files are searched in the order specified above and only the first one that is found is read. VIMINIT环境变量:VIMINIT变量是用作 Ex 命令行来执行的,Ex 模式和命令行模式有点像。可以将VIMINIT当作是一条命令放在命令行中执行。譬如: $ pwd /home/ql $ touch test # 创建测试配置文件 $ export VIMINIT=":source /home/ql/test" # 设置 shell 临时环境变量 这样 vim 就会将 test 文件作为配置文件了。vim 用户配置文件:先查找user vimrc file,即~/.vimrc文件,如果查找不到的话,由于用户可能使用了 MS-DOS 兼容文件系统,所以文件名也可能是~/_vimrc。因此 vim 会尝试查找~/_vimrc文件,如果这个文件也找不到,那么 vim 就会尝试查找2nd user vimrc file。EXINIT环境变量:这个环境变量是 vi 的配置,不是 vim 的,vim 会以模拟 vi 的行为。user exrc file:这个和EXINIT一样,类似 vim 用户配置文件和VIMINIT环境变量的关系。defaults file:最后如果上述都找不到的话,那么就加载默认配置文件。 当上述文件(除了加载的是默认文件)加载启动后,vim 会设置一个叫MYVIMRC的环境变量。当然,这个设置的前提是 shell 中没有设置MYVIMRC环境变量。上述 5 个初始化选项的内容都有可能覆盖系统配置文件的设置。 具体的,vim 启动之后会加载哪些文件可以通过:scriptnames查看,像我通过defaults file启动 vim,:scriptnames输出如下: 1: /usr/local/share/vim/vimrc 2: /usr/local/share/vim/vim82/defaults.vim 3: /usr/local/share/vim/vim82/filetype.vim 4: /usr/local/share/vim/vim82/ftplugin.vim 5: /usr/local/share/vim/vim82/indent.vim 6: /usr/local/share/vim/vim82/syntax/syntax.vim 7: /usr/local/share/vim/vim82/syntax/synload.vim 8: /usr/local/share/vim/vim82/syntax/syncolor.vim 9: /usr/local/share/vim/vim82/plugin/getscriptPlugin.vim 10: /usr/local/share/vim/vim82/plugin/gzip.vim 11: /usr/local/share/vim/vim82/plugin/logiPat.vim 12: /usr/local/share/vim/vim82/plugin/manpager.vim 13: /usr/local/share/vim/vim82/plugin/matchparen.vim 14: /usr/local/share/vim/vim82/plugin/netrwPlugin.vim 15: /usr/local/share/vim/vim82/plugin/rrhelper.vim 16: /usr/local/share/vim/vim82/plugin/spellfile.vim 17: /usr/local/share/vim/vim82/plugin/tarPlugin.vim 18: /usr/local/share/vim/vim82/plugin/tohtml.vim 19: /usr/local/share/vim/vim82/plugin/vimballPlugin.vim 20: /usr/local/share/vim/vim82/plugin/zipPlugin.vim 从上述输出可见确实是先加载系统配置文件,然后加载 defaults.vim,之后那些.vim文件是默认配置文件里的一些设置引起的文件加载。(我的系统配置文件是我自己创建的一个空白文件) (编辑:云计算网_汕头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330478号