[英]Vim - How can I install this simple markdown preview plugin with Pathogen?
[英]In vim with pathogen, how can I check if a plugin will be loaded?
我正在使用病原體來管理vim中的插件,並且在vimrc中有一個部分僅當未安裝/不加載某些插件時才想運行。 例如
if(dwm.vim not in use)
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
endif
在大多數情況下可能會起作用的兩個選項是檢查dwm.vim是否在g:pathogen_disabled
和/或檢查目錄.vim/bundle/dwm.vim
存在。
但是,這些檢查似乎有些脆弱。 例如,如果我沒有DWM在所有檢查dwm.vim不被禁止的病原體是不夠的,如果出於某種原因dwm.vim在一些非標准位置仍使其進入runtimepath
路徑檢查將不工作。
病原體的整點是讓我的管理runtimepath
容易,所以一個優雅的解決辦法是尋找這條道路。 但是搜索幫助,病原體來源,谷歌以及此處都沒有實現此目的的簡便方法。 我可以在vim / pathogen中本地執行此操作嗎? 有插件可以幫我嗎? 我是否應該完全不這樣做,因為檢查失敗的情況相當棘手,只要我正確管理插件,就不會發生這種情況?
大多數插件都有(重新)包含防護。 通常命名為g:loaded_pluginname
。 使用此目錄和after目錄,您可以有條件地加載映射。
將以下內容放入~/.vim/after/plugin/dwm.vim
:
if !get(g:, 'loaded_dwm', 0)
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
endif
有關更多幫助,請參見:
:h write-plugin
:h after-directory
:h get()
在pathogen#infect()
之后添加:
if globpath(&runtimepath, 'dwm.vim', 1) !=# ''
" dwm.vim caught in the act
endif
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.