Попробуйте использовать readfile()
+ writefile()
.
Если вы используете Vim 7.3.150+, ( или , если вы абсолютно уверены, что указанный файл заканчивается на \n
):
function AppendToFile(file, lines)
call writefile(readfile(a:file)+a:lines, a:file)
endfunction
Для Vim старше 7.3.150:
" lines must be a list without trailing newlines.
function AppendToFile(file, lines)
call writefile(readfile(a:file, 'b')+a:lines, a:file, 'b')
endfunction
" Version working with file *possibly* containing trailing newline
function AppendToFile(file, lines)
let fcontents=readfile(a:file, 'b')
if !empty(fcontents) && empty(fcontents[-1])
call remove(fcontents, -1)
endif
call writefile(fcontents+a:lines, a:file, 'b')
endfunction