【vim 学习系列文章 12 -- vimrc 那点事】

文章目录

    • [系统级及本地 vimrc 文件](#系统级及本地 vimrc 文件)
    • [设置 vimrc 的路径](#设置 vimrc 的路径)

上篇文章:【vim 学习系列文章 11 -- vim filetype | execute | runtimepath 详细介绍】

系统级及本地 vimrc 文件

当 Vim 启动时,编辑器会去搜索一个系统级的 vimrc 文件来进行系统范围内的默认初始化工作。

这个文件通常在你系统里 $VIM/vimrc 的路径下,如果没在那里 ,那你可以通过在 Vim 里面运行 :version命令来找到它的正确存放位置。比如说,在我这里,这个命令的相关部分的输出结果如下:

csharp 复制代码
:version
... ... ... 
system vimrc file: "$VIM/vimrc" 
user vimrc file: "$HOME/.vimrc" 
2nd user vimrc file: "~/.vim/vimrc" 
user exrc file: "$HOME/.exrc" 
fall-back for $VIM: "/usr/share/vim" 
... ... ...

可以看到那个系统 vimrc 文件确实位于 $VIM/vimrc ,但我检查了我机子上没设置过$VIM 环境变量。所以在这个例子里 - 正如你在上面的输出所看到的 - $VIM 在我这的路径是 /usr/share/vim,是一个回落值(LCTT 译注:即如果前面失败的话,最终采用的结果)。

于是我试着在这个路径寻找 vimrc ,我看到这个文件是存在的。如上即是我的系统 vimrc 文件,就如前面提过的那样 - 它在 Vim 启动时会被读取。

在这个系统级 vimrc 文件被读取解析完后,编辑器会查找一个用户特定的(或者说本地的)vimrc 文件。

这个本地 vimrc 的搜索顺序是 :环境变量 VIMINIT$HOME/.vimrc、环境变量 EXINIT, 和一个叫 exrc的文件。

通常情况下,会存在 $HOME/.vimrc~/.vimrc这样的文件,这个文件可看作是本地 vimrc。

设置 vimrc 的路径

如上文所述,在 Vim 中,.vimrc 文件是用户配置文件,用于存放 Vim 的个性化设置。这个文件通常位于用户的主目录下(也就是 ~/.vimrc)。然而,如果你想要更改 .vimrc 文件的位置 ,你可以设置 VIMINIT 环境变量。 VIMINIT 环境变量包含了在 Vim 启动时会被执行的 Vim 命令。

例如,如果你想让 Vim 使用位于 /path/to/your/vimrc 的配置文件,你可以设置 VIMINIT 环境变量如下:

c 复制代码
export VIMINIT='source /path/to/your/vimrc'

你可以将这行命令添加到你的 .bashrc.bash_profile 文件中(取决于你的系统和shell),以确保每次启动新的 shell 时 VIMINIT 都会被设置。

然后,当你启动 Vim 时,它会执行 VIMINIT 环境变量中的命令,也就是 source /path/to/your/vimrc,从而加载你指定的 .vimrc 文件。
需要注意的是,.vimrc 文件中的配置仍然会影响到 Vim 的全局设置,所以在多用户环境下要谨慎使用这种方法。

上篇文章:【vim 学习系列文章 11 -- vim filetype | execute | runtimepath 详细介绍】

推荐阅读
https://jingyan.baidu.com/article/ce09321b63863c2bfe858f61.html

相关推荐
鸠摩智首席音效师2 天前
如何在 Vim 中使用交换文件恢复文件 ?
linux·编辑器·vim
xiayutian_c2 天前
SAP Vendor Invoice Management by OpenText (VIM)
vim·opentext
rain bye bye2 天前
vim 中设置高亮
linux·编辑器·vim
刀法孜然2 天前
vim 编辑中,临时挂起编辑器进程,返回到终端命令行
linux·编辑器·vim
uxiang_blog2 天前
Linux下如何在vim里使用异步编译和运行?
linux·vim·asynctasks.vim·asyncrun.vim
学习3人组3 天前
Node.js模块化开发实训案例
node.js·编辑器·vim
ayaya_mana4 天前
Linux环境下Node.js任意版本安装与pnpm、yarn包管理
linux·node.js·vim
minji...4 天前
Linux相关工具vim/gcc/g++/gdb/cgdb的使用详解
linux·运维·服务器·c++·git·自动化·vim
进击的_鹏5 天前
【Linux】vim的操作大全
linux·编辑器·vim
馨谙8 天前
vim保姆级使用,操作详解,快捷键大全总结
linux·编辑器·vim