我想從Vim編輯.vimrc
文件,並在不重新啓動Vim的情況下應用它們。是否可以在不重新啓動的情況下應用vim配置?
回答
是,只需要使用:so %
命令而編輯的.vimrc。
如果你想Vim自動重新加載您的配置,您必須添加以下命令:
augroup myvimrchooks
au!
autocmd bufwritepost .vimrc source ~/.vimrc
augroup END
自動命令的分組是在這裏,以避免「指數」重裝,如果你多次保存您的配置。
源vimrc文件:source ~/.vimrc
在windows上,只是:so〜/ _vimrc – 2017-11-08 17:15:13
這裏有一個更多的跨平臺兼容的版本,如果你在Mac/Windows的/ Linux和gvimrc
運行:
augroup myvimrc
au!
au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END
自動命令監視所有潛在*vimrc
文件,當一個人改變,它重新加載vimrc
文件之後如果GUI正在運行,則爲gvimrc
。
我沒有得到你的命令。 $ MYGVIMRC在哪裏定義? – 2010-06-18 14:18:09
當GUI Vim啓動時它被設置。請參閱::help gvimrc' – matpie 2010-06-21 16:54:30
FANTASTIC,謝謝。如果你這樣做,避免我剛剛犯下的大腦放屁...我打開gvim,將其添加到我的vimrc,然後試圖確認它工作。沒有... 20分鐘後,我意識到自從忘記添加AUTOCMD之後,忘了文件的來源。一旦我這樣做了,當然,一切都奏效了。我想這對我來說太過分了,我有一個心理上的「堆棧溢出」。 – 2010-12-05 05:50:30
autocmd! BufWritePost裏_vimrc源%
這將自動重裝在_vimrc文件中的所有配置在您保存
" 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
0將不會生成錯誤
當然,只有在vim中編輯你的vimrc
纔會發生自動重載。
這似乎只在文件全部打開的'vim'的同一個實例中編輯'$ MYVIMRC'時才起作用。例如,如果他們在不同的終端中,那麼我仍然需要手動發送'$ MYVIMRC'。有沒有辦法解決這個問題? – 2017-02-04 02:31:50
不是我所知道的 - 噹噹前的'vim'寫出文件時,這種方法是有效的。可能會監視文件本身的mtime,但不確定如何在不進行異步輪詢的情況下執行此操作。 – 2017-02-04 04:26:57
- 1. Solr是否可以在不重新啓動Solr的情況下加載新的log4j.properties配置文件?
- 2. 是否可以在不重新啓動進程的情況下重新啓動Azure Web角色上的IIS?
- 3. 我可以在不重新啓動Jetty服務器的情況下更新應用程序配置文件嗎?
- 4. 是否可以在不重新啓動JSF服務器的情況下更新應用程序?
- 5. 在不重新啓動的情況下應用vimrc更改
- 6. 您是否可以在不重新啓動IIS的情況下在IIS 6中啓用HTTP壓縮?
- 7. 在不重新啓動服務的情況下更新mongod配置
- 8. 如何在不重新啓動的情況下刷新MySQL配置文件?
- 9. 是否可以在不重新啓動Django的情況下重新加載視圖?
- 10. 是否可以在不重新啓動整個動畫的情況下更新DoubleAnimation.FromProperty?
- 11. 在不重新啓動Xorg的情況下重新加載XINITRC
- 12. 是否可以在不使用SIGHUP的情況下立即啓動pthread?
- 13. 是否可以在不重寫代碼的情況下重新調整Qt GUI?
- 14. 如何在不重新啓動的情況下「重新啓動」Internet Explorer服務
- 15. 我可以在不重新啓動我的項目的情況下添加servlet
- 16. 在不重新啓動活動的情況下恢復活動
- 17. 在不重新啓動VIM的情況下更改NERDTree〜/ .vimrc選項
- 18. 在不重新啓動C#應用程序的情況下刷新GAC引用
- 19. 在不重新啓動lighty的情況下更新.po文件
- 20. 是否可以在不調用新活動的情況下獲取對象值?
- 21. 是否可以在不重新啓動整個Liferay門戶的情況下反映portal-ext.properties中的更改?
- 22. 是否可以在不啓動npm的情況下運行React項目?
- 23. 是否可以在不重新編譯的情況下更改exe的圖標?
- 24. Android:是否可以在不重新採樣的情況下繪製大圖像?
- 25. pgbouncer可以在不重啓的情況下重新讀取/ etc/hosts文件
- 26. 是否可以在不導致IIS重置的情況下部署SharePoint WSP?
- 27. 是否可以在不使用Rails的情況下使用FactoryGirl?
- 28. 是否可以在不禁用JavaScript的情況下禁用AJAX?
- 29. 如何在不重新啓動設備的情況下重新啓動應用程序系統?
- 30. 在不重新啓動Servlet容器的情況下重新加載/刷新Spring配置文件
注意,這對'gvimrc'不起作用,或者如果你的文件被稱爲'_vimrc'或'vimrc',或者你編輯另一個名爲'.vimrc'的文件目錄。請參閱我的答案以解決這些問題。 – 2016-09-04 02:57:37