Как отметил @Trendfischer в своем комментарии, текущее поведение vim не является (больше?) очистить регистр при первом нажатии q
.
Теперь, если вы выбрали неправильный регистр, вот что вы можете сделать:
- не выходите из режима записи (пока),
- создать пустую строку,
- вставьте перезаписываемый регистр (если вы записываете в регистр
q
, это "qp
),
- теперь выйдите из режима записи (
q
)
- выберите строку, которую вы вставили выше (без метки конца строки:
0v$h
; не используйте V
)
- вставьте его в регистр, который вы перезаписали (
"qy
если вы используете регистр q
; опять же: не используйте строчную копию Y
).
- Теперь ваш старый макрос вернулся в реестр, и вы можете перезапустить запись нового макроса в правильном регистре.
Конечно, приложив немного усилий, вы можете спасти как старый, так и новый макрос (но вы должны запустить процесс, прежде чем нажимать второй раз клавишу q
): просто вставьте то, что вы записали, и нажмите в "новом"/"правильный" регистр.