我想獲得用戶的vimfiles
目錄。考慮到用戶可以使用除~/.vim/
以外的其他可能的目錄,從vim
的vimfiles
變量中檢索目錄將是實現它的最佳跨平臺方式。但是如何?決定Bash的Vimfiles目錄
我認爲調用類似vim -q -c COMMAND
可能實際上是解決方案,但我不確定要使用的COMMAND
。
我想獲得用戶的vimfiles
目錄。考慮到用戶可以使用除~/.vim/
以外的其他可能的目錄,從vim
的vimfiles
變量中檢索目錄將是實現它的最佳跨平臺方式。但是如何?決定Bash的Vimfiles目錄
我認爲調用類似vim -q -c COMMAND
可能實際上是解決方案,但我不確定要使用的COMMAND
。
我認爲這會做你想做的。
vim -c ':exec ":silent !echo ".&rtp | exec ":q!"'
在我的筆記本電腦上,這是結果(爲了便於閱讀而重新格式化)。
/Users/dan/.vim,/Users/dan/.vim/bundle/ack,/Users/dan/.vim/bundle/fugitive,
/Users/dan/.vim/bundle/json,/Users/dan/.vim/bundle/my-ackmore,
/Users/dan/.vim/bundle/my-endwise,/Users/dan/.vim/bundle/pathogen,
/Users/dan/.vim/bundle/perl,/Users/dan/.vim/bundle/pgsql,
/Users/dan/.vim/bundle/quickrun,/Users/dan/.vim/bundle/repeat,
/Users/dan/.vim/bundle/signify,/Users/dan/.vim/bundle/statline,
/Users/dan/.vim/bundle/surround,/Users/dan/.vim/bundle/tcomment,
/usr/share/vim/vimfiles,/usr/share/vim/vim73,
/usr/share/vim/vimfiles/after,/Users/dan/.vim/after
您可以在:help $VIM
瞭解更多關於Vim啓動的信息。
UPDATE:的要求,在這裏,只顯示在列表中的第一項,我認爲應該是vimfiles的變化:
vim -c ':exec ":silent !echo " . split(&rtp,",")[0] | exec ":q!"'
使用'echo&rtp'將避免輸出的'runtimepath ='位。 –
感謝您的提示 - 我之前的回答給出了錯誤的結果,所以我修復了這個問題,這次我使用了&rtp。 –
爲什麼使用':exec'和字符串的複雜?爲什麼不只是像你最初一樣'vim --cmd''echo&rtp | q''?啊。額外的空間和終端警告。 –
如果你已經看過我的回答,請重新-閱讀。原始版本實際上給出了一個不好的結果,因爲在加載vimrc之前'--cmd'運行*。所以它只會告訴你默認路徑,而不是用戶的實際路徑。新版本應該是準確的。 –