У меня есть сопоставления для копирования / вырезания / вставки в / из реестра:
nnoremap <c-r><c-c>a "ayy -- copy current line into register a
nnoremap <c-r><c-x>a "add -- cut current line into register a
nnoremap <c-r><c-v>a "ap -- paste from register a
и то же самое для всех других регистров и режимов. У меня также есть обычные отображения для cc /x /v, чтобы действовать как копирование, вырезание и вставка в / из неназванного регистра. Теперь, если я быстро нажимаю cr cv , то все работает, но если я нажимаю cr cv и пауза, чтобы подумать, какой регистр использовать, vim решает вместо этого действовать на cv (выполняет вставку из неназванного регистра).
Есть ли способ заставить такие отображения работать без конфликтов в vim? Так что, когда я нажимаю cr cv, он не останавливается и не становится cv.
В стандартной раскладке я думаю, что это работает через некоторый «режим ожидания регистрационного письма». Например, если я использую cr в режиме командной строки, vim отображает «и ждет буквы регистра бесконечно, то же самое в обычном режиме при нажатии».
EDIT: vim help упоминает, что переназначение cc в обычном режиме нарушает способность прерывать сценарии. Правда, но вопрос все еще применяется при использовании чего-то еще, например, cy.