2013-08-21 34 views
2

如何在Windows下的命令行上訪問給Vim的參數?如何從VimL獲取命令行參數?

我要找的相當於argv[]在C.

在Linux下你可以閱讀/proc/self/cmdline。 例子:

vim -c ":echo split(readfile(\"/proc/self/cmdline\", 1)[0], \"\n\")" 

print 

[ 
    'vim', 
    '-c', 
    ':echo split(readfile("/proc/self/cmdline", 1)[0], "\n")' 
] 

argc()argv()不起作用。他們只是返回文件數量。 例子:

vim -c ':echo "argc:" . argc() . ", argv:" . string(argv())' file1 file2 

print 

argc:2, argv:['file1', 'file2'] 
+0

哦,我明白了。這個例子使問題更清楚。不幸的是,沒有辦法通過Vim獲取這些參數。您必須使用與操作系統相關的解決方案,就像您已經做過的那樣。 – mhinz

回答

5
:help argc() 
:help argv() 
:help argidx() 

也許還:help argument-list,只是要確定。

簡單的例子:

for arg in argv() 
    echo arg 
endfor 
1

在需要的argv [0](即,名字VIM被稱爲)的特定情況下,可以使用v:progname