如何正确地重新加载 .vimrc 文件,使其等同于 vim 的重启?
How to correctly reload .vimrc file so it will be equal to restart of vim?
我使用 MacVim,在我的 .vimrc 文件中,我有 map ,V :source $MYVIMRC<CR>
绑定,允许我在最近修改的情况下应用最新版本的 .vimrc
。
但是我注意到可能会发生奇怪的事情,重新启动会减慢 vim 并且某些插件在按下 ,V
后可能会开始冲突,如果我只是关闭并从头开始重新启动 MacVim 一切正常。
如果您能提示我这种行为的原因,我将不胜感激,因为我希望有可能更新 .vimrc
文件以完全清除内部 vim状态并获取新的配置文件
将配置重新应用到原始 Vim 的唯一可行方法实际上是重新启动它。
但最有可能导致速度变慢的原因是 overuse/misuse 自动命令。
添加自动命令而不检查现有的。一个结果是,如果您没有正确管理它们,它们往往会堆积起来,并且在触发该事件时会执行与特定事件对应的每个单独的自动命令,从而导致可怕的减速。
以下是您应该在 vimrc
中使用自动命令的两种方式:
方法一
" anywhere
augroup nameofthegroup
autocmd!
autocmd EventName pattern commandtoexecute
autocmd AnotherEventName anotherpattern anothercommandtoexecute
augroup END
方法#2
" near the top of your vimrc
augroup nameofthegroup
autocmd!
augroup END
" anywhere
autocmd nameofthegroup EventName pattern commandtoexecute
autocmd nameofthegroup AnotherEventName anotherpattern anothercommandtoexecute
我们的想法是创建一组自动命令,在调用时自动清除,从而防止它们堆积。
我使用 MacVim,在我的 .vimrc 文件中,我有 map ,V :source $MYVIMRC<CR>
绑定,允许我在最近修改的情况下应用最新版本的 .vimrc
。
但是我注意到可能会发生奇怪的事情,重新启动会减慢 vim 并且某些插件在按下 ,V
后可能会开始冲突,如果我只是关闭并从头开始重新启动 MacVim 一切正常。
如果您能提示我这种行为的原因,我将不胜感激,因为我希望有可能更新 .vimrc
文件以完全清除内部 vim状态并获取新的配置文件
将配置重新应用到原始 Vim 的唯一可行方法实际上是重新启动它。
但最有可能导致速度变慢的原因是 overuse/misuse 自动命令。
添加自动命令而不检查现有的。一个结果是,如果您没有正确管理它们,它们往往会堆积起来,并且在触发该事件时会执行与特定事件对应的每个单独的自动命令,从而导致可怕的减速。
以下是您应该在 vimrc
中使用自动命令的两种方式:
方法一
" anywhere
augroup nameofthegroup
autocmd!
autocmd EventName pattern commandtoexecute
autocmd AnotherEventName anotherpattern anothercommandtoexecute
augroup END
方法#2
" near the top of your vimrc
augroup nameofthegroup
autocmd!
augroup END
" anywhere
autocmd nameofthegroup EventName pattern commandtoexecute
autocmd nameofthegroup AnotherEventName anotherpattern anothercommandtoexecute
我们的想法是创建一组自动命令,在调用时自动清除,从而防止它们堆积。