почему эта функция vim не может работать, но запускается как cmd - PullRequest
0 голосов
/ 24 апреля 2018

У него есть этот код:

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 голосов
/ 24 апреля 2018

Вы используете двойные кавычки вместо простых кавычек.Все ваши обратные слеши должны быть удвоены.Или, еще лучше, используйте одинарные кавычки.

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

PS: было бы лучше описать то, что вы наблюдали.К счастью, ваша ошибка повторяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...