Заменить только изменения в режиме вставки - PullRequest
0 голосов
/ 30 сентября 2019

В моем vimrc я помещаю код для автоматической замены при выходе из режима вставки, например:

augroup SubstWhenLeavingInsert
  autocmd!
  autocmd InsertLeave *.tex %s/a/b/ge
augroup END

С этим проблем нет. Но я ищу более эффективный способ: вышеупомянутый autocmd всегда ищет в тексте целом .

Могу ли я заменить % диапазоном, который указывает, "где вы редактировали во вставке?"mode "?

Я думаю, что я могу сделать это с помощью маркеров, но я не уверен насчет маркеров. Итак, скажите, пожалуйста, правильное мое предположение или нет, или как этого добиться.

1 Ответ

1 голос
/ 15 октября 2019

Ранее измененный (или дернутый) текст доступен через отметки :help '[ и :help ']. Это может не соответствовать действительному изменению (а такие команды, как :w пометить весь буфер), но, поскольку вы ищете только оптимизацию, это будет хорошо.

  autocmd InsertLeave *.tex '[,']s/a/b/ge
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...