如何獲取目錄Vim正在「查看」?我想建立我的vimrc
平臺獨立,所以我不想把明確的目錄。在Linux上,例如vim調查~/.vim
和Windows的~\vimfiles
。我怎樣才能得到使用的目錄,把我的文件放在那裏?獲取vim目錄下的vimrc文件
回答
我不能說這是一個我們從不需要的信息,因爲我有一個用途。
在LH-VIM-lib下,我繼續這樣(在lh#path#vimfiles()):
- 我首先從建立$ HOME正則表達式(即我全部更換斜線和backslahes到
[/\\]
)::let regex = substitute($HOME, '[/\\]', '[/\\\\]', 'g')
。 - 然後我追加可能的目錄:
let regex .= '\(vimfiles\|.vim\)'
- 最後,我搜索我的正則表達式到& rtp。最短的結果是好的。
:let paths = filter(split(&rtp, ','), 'match(v:val, regex) != -1')
+:return paths[lh#list#arg_min(paths, function('len'))]
注:真正的代碼是多一點點複雜,通用和彈性(/耐?)錯誤。
PS:因爲cygwin,僅僅測試has('win32')
是不夠的。
編輯:我被要求提供lh#list#arg_min()
的定義。它可以在lh-vim-lib中找到。它的定義很簡單,有點繁瑣(IMO)
function! lh#list#arg_min(list, ...) abort
if empty(a:list) | return -1 | endif
let Transfo = a:0 > 0 ? a:1 : function(s:getSNR(id))
let m = Transfo(a:list[0])
let p = 0
let i = 1
while i != len(a:list)
let e = a:list[i]
let v = Transfo(e)
if v < m
let m = v
let p = i
endif
let i += 1
endwhile
return p
endfunction
'&rtp'後面有一個括號(我不能編輯它,顯然我不得不改變更多的字符)。你也可以給出'lh#list#arg_min'的定義,我找不到它。 – DerWeh
的確謝謝。我做了更正。關於'arg_min',它並不那麼複雜,但仍然有點麻煩。它的定義可以在這裏找到:https://github.com/LucHermitte/lh-vim-lib/blob/master/autoload/lh/list.vim#L430 –
您可以覆蓋默認'runtimepath'
使Vim在Windows上使用相同的~/.vim/
了。只需將其放入您的~/.vimrc
:
if has('win32') || has('win64')
let &runtimepath = substitute(&runtimepath, '\C\V' . escape($HOME.'/vimfiles', '\'), escape($HOME.'/.vim', '\&'), 'g')
endif
- 1. vim文件特定.vimrc
- 2. 啓動沒有vimrc的vim /用打開文件更改vimrc
- 3. 獲取文件的目錄
- 4. Vim處理vimrc如果文件夾
- 5. Vim - 在.vimrc文件中只有''綁定'
- 6. CentOS和vim採購vimrc文件
- 7. Vim Only Highlighting〜/ .vimrc
- 8. Vim vundle colorschemes - vimrc
- 9. 的Vim在vimrc裏
- 10. 如何獲取JAR文件中目錄下的文件列表
- 11. 獲取從文件目錄
- 12. 如何從插件中獲取vim插件的目錄?
- 13. vim -X標誌爲.vimrc條目
- 14. c#提取目錄下的zip文件
- 15. .vimrc for IntelliJ Idea的vim插件
- 16. Vim的定製 - .vimrc裏 - 鍵
- 17. VIM:匹配投放的.vimrc
- 18. 在vimrc中設置目錄
- 19. vimrc - 當前工作目錄
- 20. 從目錄的FileDescriptor獲取文件
- 21. 獲取目錄的文件對象
- 22. php獲取文件的根目錄
- 23. 獲取從目錄文件到NSData的
- 24. 獲取目錄中的文件數
- 25. 獲取特定文件的父目錄
- 26. 獲取目錄文件的路徑
- 27. 獲取同一目錄的文件
- 28. 獲取每個目錄的文件(Py)
- 29. 獲取目錄中的最新文件
- 30. 獲取上傳文件的目錄java
答案比您預期的要複雜得多。有幾個相關的目錄,其中一些是硬編碼的。有關詳細信息,請參閱':h startup'。另請參閱'vim --version'的輸出。 –
你在哪裏需要'.vimrc'中的vim文件夾?我剛剛檢查過我的'.vimrc',並且唯一使用它的地方是臨時文件。你能詳細說一下這個用例是什麼嗎? – pfnuesel
首先是臨時文件。我在'.vim'的子目錄中保存'undo'和'backup'文件。其他的東西是我的插件。我使用'vim-plug'並需要指定文件夾。 我想把這個全部保存在一個文件夾中,我可以將我的'.vim'文件夾放在GitHub上並同步到沒有安裝Git的系統。 – DerWeh