2013-09-11 6 views
11

Я записал макрос в регистр и начал его с слишком большого количества повторений. Для завершения каждого макроса требуется много времени.Как остановить запуск макроса Vim

Как отменить/остановить Vim, выполняющий макрос? Есть ли способ сделать это, не убивая процесс редактирования?

Вот шаги, которые я затем:

  1. Записанный макрос для регистрации 1
  2. Я бегу это в 1000 раз: [email protected]
  3. Теперь ждет около 6 секунд для завершения каждого макроса.
+1

Вы должны записать макросы в регистре от a до z. Регистры с 1 по 9 зарезервированы для янкинга и удаления и обновления каждый раз, когда вы делаете yank или delete, это вероятная причина медленности, которую вы испытываете. – romainl

+1

Спасибо за комментарий. Я переключусь на буквы. На заметку о производительности мне пришлось выполнить следующие команды, чтобы сделать ее быстрой: синтаксис выключен set undolevels = 0 – BlueNile

ответ

24

C-с работает

Кроме того, вы можете позволить ему разбить на ошибку. (который, я думаю, является значением по умолчанию). Я иногда временно сделать

:se nowrapscan 

, чтобы избежать «бесконечно» зацикливание над моим буфером


Кроме того, чтобы ускорить выполнение макроса, сделать его молчание:

:silent! norm [email protected] 
+0

C-c работал. Спасибо за быстрый ответ. – BlueNile

+0

Ctrl-C не работает на Vim 7.4 для Windows. Я обновился до Vim 8.0 и работает там. – mwardm

+0

@mwardm Vim (используется) имеет конфигурацию по умолчанию «Windows mode» (я ненавижу). В Windows,^C и^V получили сопоставление с ... копировать/вставлять. Я думаю, что^Q заменил^C, но я не уверен. Я обычно отказываюсь от каких-либо 'behave mswin' и связанных с ними крутлов из vimrc – sehe

Смежные вопросы