Windows _vimrc him主目录覆盖$VIM中的u vimrc

Windows _vimrc him主目录覆盖$VIM中的u vimrc,windows,vim,windows-10,Windows,Vim,Windows 10,在Linux上,当我创建一个~/.vimrc文件时,它会扩展系统设置,即它运行~/.vimrc文件中的命令,而不更改文件中不存在的任何设置 在Windows上,似乎%HOMEPATH%\\u vimrc文件会覆盖其他设置文件,因为即使添加一个空白文件也会完全改变vim的行为 这是Windows上的预期行为吗?如果要扩展其他设置文件,是否需要将其复制到我的主目录中?这就是Vim的工作方式:如果没有vimrc,它将加载$VIMRUNTIME/defaults.Vim;如果你有,那么它没有 你在Lin

在Linux上,当我创建一个
~/.vimrc
文件时,它会扩展系统设置,即它运行
~/.vimrc
文件中的命令,而不更改文件中不存在的任何设置

在Windows上,似乎
%HOMEPATH%\\u vimrc
文件会覆盖其他设置文件,因为即使添加一个空白文件也会完全改变vim的行为


这是Windows上的预期行为吗?如果要扩展其他设置文件,是否需要将其复制到我的主目录中?

这就是Vim的工作方式:如果没有
vimrc
,它将加载
$VIMRUNTIME/defaults.Vim
;如果你有,那么它没有

你在Linux上的问题是什么,你应该更清楚。可能是系统的
/etc/vimrc
,可能是Neovim,等等


如果您想从
defaults.vim
添加设置,只需执行
runtime defaults.vim

这就是vim的工作方式:如果您没有
vimrc
它将加载
$VIMRUNTIME/defaults.vim
;如果你有,那么它没有

你在Linux上的问题是什么,你应该更清楚。可能是系统的
/etc/vimrc
,可能是Neovim,等等

如果您想从
defaults.vim
添加设置,只需执行
运行时默认值.vim
vim版本8及以上版本(可能就是您正在使用的版本)即可提供一个
defaults.vim
文件,在找不到用户vimrc文件时使用该文件。
defaults.vim
文件启用文件类型检测和语法突出显示,以及其他对所有或大多数vim用户有用的设置。有关更多详细信息,请参阅

这就是你在Windows上看到的,你从官方网站安装了一个Vim软件包,你得到了默认的Vim行为。为了向后兼容,只有当您根本没有用户vimrc文件(
%HOMEPATH%\\u vimrc
)或明确包含它时,才会发生
defaults.vim
行为

建议在启动新的vimtex文件时显式加载,顶部有两行:

unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim
您在Linux上可能看不到这一点的原因是,一些Linux发行版(即Debian,可能是继承了许多Debian软件包的Ubuntu)决定不喜欢
defaults.vim
行为,特别是如果用户vimrc文件存在,则无法启用部分。(这是可以理解的,当您创建一个空的vimrc文件时,Vim突然表现出不同的行为,许多东西被禁用,您已经看到了它带来的混乱!)

因此,他们提供了一个系统vimrc文件
/etc/vimrc
,它完成了
默认值.vim
文件的许多工作(例如启用文件类型检测和语法高亮显示),然后完全禁用
默认值.vim
行为(通过设置
跳过默认值\u vim
变量)因此,在这些发行版中,除非明确包含
defaults.vim
行为(并且只有在首先取消设置禁用它的变量时),否则不会获得该行为。另一方面,您总是从发行版附带的系统vimrc文件中获得类似或等效的设置

我的建议是,在vimrc文件中启用
defaults.vim
行为,该文件适用于所有平台和所有Linux发行版。它还包括一些有用的设置,这些设置在Linux发行版的
/etc/vimrc
中不存在,这些发行版禁用了
defaults.vim
行为,因此它在那里也可能有用。

vim版本8及更高版本(这可能就是您正在使用的)发送一个
defaults.vim
文件,该文件在未找到用户vimrc文件时使用。
defaults.vim
文件启用文件类型检测和语法突出显示,以及其他对所有或大多数vim用户有用的设置。有关更多详细信息,请参阅

这就是你在Windows上看到的,你从官方网站安装了一个Vim软件包,你得到了默认的Vim行为。为了向后兼容,只有当您根本没有用户vimrc文件(
%HOMEPATH%\\u vimrc
)或明确包含它时,才会发生
defaults.vim
行为

建议在启动新的vimtex文件时显式加载,顶部有两行:

unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim
您在Linux上可能看不到这一点的原因是,一些Linux发行版(即Debian,可能是继承了许多Debian软件包的Ubuntu)决定不喜欢
defaults.vim
行为,特别是如果用户vimrc文件存在,则无法启用部分。(这是可以理解的,当您创建一个空的vimrc文件时,Vim突然表现出不同的行为,许多东西被禁用,您已经看到了它带来的混乱!)

因此,他们提供了一个系统vimrc文件
/etc/vimrc
,它完成了
默认值.vim
文件的许多工作(例如启用文件类型检测和语法高亮显示),然后完全禁用
默认值.vim
行为(通过设置
跳过默认值\u vim
变量)因此,在这些发行版中,除非明确包含
defaults.vim
行为(并且只有在首先取消设置禁用它的变量时),否则不会获得该行为。另一方面,您总是从发行版附带的系统vimrc文件中获得类似或等效的设置

我的建议是,在vimrc文件中启用
defaults.vim
行为,该文件适用于所有平台和所有Linux发行版。它还包括一些有用的设置,这些设置在Linux发行版的
/etc/vimrc
中不存在,这些发行版禁用了
defaults.vim
行为,因此它在那里也可能有用