为什么这个 vim 函数不能工作,而是将其作为 cmd 运行



它具有此代码:

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/

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

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

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

ps:最好描述您的观察。幸运的是,您的错误是一个反复出现的。

最新更新