为什么这个vim函数不能工作但是作为cmd运行它

时间:2018-04-24 14:25:09

标签: vim

它有这个代码:

autocmd BufWritePre,FileWritePre *vimrc  call LastMod()
fun LastMod()
    let l =  min([line('$'), 8]) 
    exe "1," . l . "g/Modified Times:/s/\d\+/\=submatch(0) + 1/"
endfun

当我将它作为cmd运行时,它可以工作:

1,8g/Modified Times:/s/\d\+/\=submatch(0) + 1/

但是在功能中不起作用。为什么呢?

1 个答案:

答案 0 :(得分:2)

您使用双引号而不是简单的引号。所有反斜杠都需要加倍。或者更好的是,使用单引号。

请参阅:https://vi.stackexchange.com/questions/9706/what-is-the-difference-between-single-and-double-quoted-strings

PS:描述你观察的内容会更好。幸运的是,你的错误是反复出现的。

相关问题