当我写入某些内容时.vimrc
,我必须先关闭它,然后打开它才能应用我的更改,这让我很烦恼。有没有办法在.vimrc
不关闭它的情况下在 Vim 中重新加载?
例如,我已经添加了set nu
,~/.vimrc
并且我希望所有窗口和缓冲区都显示行号。
答案1
:source ~/.vimrc
从 vim 内部运行该程序,它将应用你的.vimrc
交替
:source $MYVIMRC
答案2
:so %
如果当前正在编辑 .vimrc
答案3
这是留给后人的一个。将以下内容添加到你的 .vimrc 中:
map <leader>vimrc :tabe ~/.vim/.vimrc<cr>
autocmd bufwritepost .vimrc source $MYVIMRC
第一行意味着您可以从任何 vim 缓冲区打开 vimrc,方法是输入领导者,然后输入“vimrc”。例如,我的领导者设置为逗号,因此如果我在编辑模式下输入“,vimrc”,它会在新选项卡中打开我的 vimrc。
第二行会在你保存并关闭 vimrc 时自动将更改加载到 vimrc 中。这太神奇了。
答案4
" 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://
差异) - 如果使用,不会产生错误
vim-tiny
当然,只有vimrc
在 vim 中编辑时才会发生自动重新加载。