在vim函数中,如何将寄存器设置为包含新行的值?

时间:2014-12-12 17:13:00

标签: vim

当我在vim中运行以下命令时,寄存器设置正确。

let @a='line1^@line2'

当我按" a p 时,我得到了

line1
line2

当我把这行放在我的.vimrc中的一个函数中时,

function! SetA()
    let @a='line1^@line2'
endfunction

称呼它,

:call SetA()

vim会产生以下错误。

E115: Missing quote: 'line1
E15: Invalid expression: 'line1

好像是^@(我输入 Ctrl + v Ctrl + @ 当它是函数的一部分时,它被解释为一个额外的行。我如何逃避这种情况,或阻止它发生?

2 个答案:

答案 0 :(得分:2)

这样做:

function! SetA()
    let @a="line1\nline2"
endfunction

答案 1 :(得分:0)

除了肯特的答案之外,你找到了适合你的答案,而不是 Ctrl + v Ctrl + 你试过的@ ,试试 Ctrl + v Ctrl + j

希望有所帮助。