.vimrc
进行更改时,通常会退出Vim并再次将其打开。是否有更简单的方法来重新加载新的.vimrc
更改?#1 楼
在Vim内运行::source $MYVIMRC
重新加载
vimrc
文件。或者,使用更短的版本::so $MYVIMRC
,如kenorb的评论中所述。
您可能还发现映射其中任何一个都很有用形成一个关键。例如:
nnoremap <Leader>r :source $MYVIMRC<CR>
#2 楼
如果您只是想偶尔重新加载文件,如Paul所写,那是正确的。如果最终要经常更改vimrc,则可以在vimrc文件中添加以下内容::source $MYVIMRC
这将在您写入文件时重新加载文件(从该文件中vim会话)
评论
johannes:我们是否需要通过vim编辑.vimrc才能使该命令自动获取文件?
– Sai Manoj Kumar Yadlapati
2015年2月3日在18:25
请注意,vimrc文件也可以称为其他名称:例如vimrc(如果在〜/ .vim中)。
–user50136
15年2月4日在6:09
@SaiManojKumarYadlapati是的,AS表示这必须是相同的vom会议。当vom执行写操作时会触发Bufwritepost
–约翰内斯
2015年2月4日,11:01
与此有关的问题:(1)在.vim / vimrc中不起作用,(2)将创建重复的autocmds,因此每次后续保存都将变慢,因为文件将被多次加载,(3)在vim-tiny中不起作用它没有autocmd,在某些Linux发行版中仍是默认设置。请参阅我的答案以解决这些问题。
–汤姆·黑尔
16年8月6日在4:14
#3 楼
" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>
要在保存时自动重新加载,请将以下内容添加到
$MYVIMRC
中:if has ('autocmd') " Remain compatible with earlier versions
augroup vimrc " Source vim configuration upon save
autocmd! BufWritePost $MYVIMRC source % | echom "Reloaded " . $MYVIMRC | redraw
autocmd! BufWritePost $MYGVIMRC if has('gui_running') | so % | echom "Reloaded " . $MYGVIMRC | endif | redraw
augroup END
endif " has autocmd
,最后一次键入:
:so %
下次保存
vimrc
时,它将自动重新加载。功能:
>向用户说明发生了什么(也登录到
:messages
)处理配置文件的各种名称
确保仅匹配实际的配置文件(忽略其他目录中的副本或
fugitive://
diff) 如果使用
vim-tiny
不会产生错误当然,只有在vim中编辑
vimrc
时,才会自动重装。
评论
快捷方式::so $ MYVIMRC。
– Kenorb
15年2月20日在22:43
@kenorb:我添加了这种可能性;感谢您提到它!
– Paul Gessler
2015年2月21日在4:34
:so $ m
–亚伦·托马
15年5月31日在21:46
使用:so%保存另外两次击键。 %设置为您编辑的缓冲区的当前文件名,在这种情况下为$ MYVIMRC
–cbaumhardt
15年8月24日在21:30
到目前为止,最简单的方法是在保存时自动重新加载vimrc-检查其他答案。
–汤姆·黑尔
16年8月6日在8:25