如何强制重新加载vimrc文件

如何强制重新加载vimrc文件,vim,Vim,似乎要(一致地)重新加载vimrc文件,我唯一能做的就是退出它,然后重新打开它。我尝试过: :w(写入) :so$MYVIMRC 它实际上并没有更新文件。下面是一个示例视频,显示更新vimrc后更改如何不适用:。是否有更好的方法强制重新加载此文件?问题在于vnoremap。 第二次它不会被映射,因为你要求vim禁止它。 更改vmap,以便在您玩游戏和微调(重新加载vimrc)时使用。一旦您对它满意,将其更改回vnoremap 使用vnoremap的原因是为了避免某些(粗鲁的)插件覆盖映射。我

似乎要(一致地)重新加载
vimrc
文件,我唯一能做的就是退出它,然后重新打开它。我尝试过:

  • :w(写入)
  • :so$MYVIMRC

它实际上并没有更新文件。下面是一个示例视频,显示更新vimrc后更改如何不适用:。是否有更好的方法强制重新加载此文件?

问题在于
vnoremap
。 第二次它不会被映射,因为你要求vim禁止它。 更改
vmap
,以便在您玩游戏和微调(重新加载vimrc)时使用。一旦您对它满意,将其更改回
vnoremap


使用
vnoremap
的原因是为了避免某些(粗鲁的)插件覆盖映射。我个人觉得(通常)没有必要。如果我遇到某个插件覆盖了我的映射的情况,我更愿意找出谁有罪,并摆脱该插件。

.vimrc
不是某种“神奇”的文件。如果你找到它的来源。。。嗯,这只是又一次。所有先前定义的变量、映射、命令等都将保留在此处,除非它们在
.vimrc
本身中被重写。你必须考虑到这一点


要取消映射现有映射,必须显式执行
:unmap

这是否意味着在我重新加载vimrc时没有“取消”任何映射?是否有一种基本上“从头开始”并重新加载vim文件的方法?或者,我需要关闭它并重新打开它吗?下面的命令会重置所有内容吗<代码>:mapclear | mapclear | mapclear!|地图清除w!|source$MYVIMRC
?@David542没有未设置的内容。既不是映射,也不是缩写,也不是命令。。。没有什么。不,它不会(不能保证)起作用。失败的原因和方式太多了。最明显的是,必须在每个缓冲区中执行
mapclear
,并且必须正确地重新加载所有插件(一般情况下不可能),然后重置所有缓冲区中的文件类型。。。算了吧,我明白了。那么,有没有一种防故障的方法来重新加载单个文件呢?(例如,即使重新加载vimrc)。或者是关闭文件并重新打开它的唯一方法?@David542只需以这种方式编写vimrc,这样就可以安全地重新获取它的源代码。而不是相反。当需要取消映射等操作时,手动执行或重新加载Vim。