2013-08-04 93 views
2

我需要從我的插件的目錄中複製一個文件,但我不知道如何獲取包含插件目錄的字符串?我知道我的機器上安裝了插件的位置,但我希望插件可以在包括Windows在內的其他人的機器上工作。我該怎麼做呢?如何從插件中獲取vim插件的目錄?

+0

爲什麼你需要複製從您的插件目錄的東西嗎?爲什麼不在插件安裝時將它放在正確的位置? – FDinoff

+0

我必須將其複製並修改爲用戶的項目。這不是一個靜態文件。 – SteveDeFacto

+0

我會將該文件的內容放入一個變量中,並在需要時將其寫入用戶項目中的文件。 – romainl

回答

5

要獲取插件目錄的完整路徑,可以使用以下命令獲取當插件來源時的目錄並將其存儲在變量中。

let s:plugindir = expand('<sfile>:p:h:h') 

後者你只是使用變量來獲取插件目錄。

expand()將通配符擴展爲字符串。
<sfile>是源文件。
:p使名稱在展開時爲完整路徑。
:h刪除文件名。
:h再次刪除的文件名(在這種情況下應該是插件目錄)

:h filename-modifiers看一看,:h expand()

+0

這似乎沒有做我想要的。我想要類似「/home/steven/.vim/bundle/myplugin」 – SteveDeFacto

+0

@SteveDeFacto添加另一個':h'從路徑中刪除插件目錄 – FDinoff

+0

返回當前工作目錄。我非常懷疑是我需要的。 – SteveDeFacto