我想要一個函數將文本附加到vim中的文件(而不是緩衝區)。據我所知,沒有appendfile()
。但所需的功能可以與readfile()
和writefile()
效仿:如何使用vim腳本將文本附加到文件?
fu! TQ84_log (S)
let l:f = readfile('my.log')
call add(l:f, a:S)
call writefile(l:f, 'my.log')
endfu
由於my.log
可以變得非常大,我寧願不讀,當我想添加一行寫整個文件。所以,我想出了另一種「解決方案」:
fu! TQ84_log (S)
silent execute "!echo " . a:S . ">> my.log"
endfu
這個工程(在Windows上,這是)如預期。然而,當我調用TQ84_log()
時,該窗口會彈出一小段時間。這有點讓人分心。
對我的問題有更好的解決方案嗎?
如果您沒有找到替代方法,可以使用[shell.vim plugin](http://www.vim.org/scripts/script.php?script_id=3123)避開cmd.exe窗口。 。 – mMontu
您應該使用'function'而不是'fu'並使用更多可讀的變量名稱。如果你不這樣做,至少爲了你自己。 – romainl