2013-01-17 35 views
1

我有這樣一個變量集這樣:傳遞變量來執行tabnew

let filename="/tmp/" . system('date +"%Y%m%d"') . ".txt" 

我如何打開使用該變量作爲文件名的新緩衝區,像tabnew /tmp/20130117.txt

回答

1

Vim: How do I chdir to path in a variable得到暗示,我所做的:

let $FILENAME="/tmp/" . system('date +"%Y%m%d"') 
tabnew $FILENAME 

我只需要弄清楚如何在系統函數的字符串輸出結尾處刪除「@」字符。

+1

您可以使用'系統(「日期+」%Y %m%d「| tr -d」\ n「')'去除尾隨的換行符。 –

+0

感謝您的指針。在vim中,我這樣做了: 'substitute($ FILENAME,「\ n」,「」,「g」)' – DannyClay

2

沒有系統調用需要的,儘管VIM的文檔做提的是strftime的是並非適用於所有系統(我認爲只有一些神祕的):

if exists('*strftime') 
    let fn = strftime('/tmp/%Y%m%d') 
    exe "tabnew" fn 
endif