2011-08-04 153 views
20

如何在vimscript中使用vim shell命令中的變量(一個使用!)?例如,一些有點像這樣:(只是舉個例子,不是我真正想要做)在vim shell命令中使用變量

function Ls(dir) 
    !ls a:dir 
endfunction 

回答

25

使用execute命令。在它之後的所有東西都是一個表達式,它是一個字符串,然後它就像你自己輸入的命令一樣執行。

function Ls(dir) 
    execute '!ls ' . a:dir 
endfunction 

這就是說,「評估表達'!ls ' . a:dir,然後執行它。」變量a:dir被展開,點將兩個字符串連接成'!ls whatever',然後就像您輸入它一樣執行。