Você precisa :set notimeout
para desabilitar completamente o comportamento ou :set timeoutlen=5000
para aumentar o tempo limite padrão para, por exemplo, 5 segundos. Veja :help map-typing
para detalhes
Eu tenho mapeamentos para copiar / recortar / colar no / do registro:
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
e o mesmo para todos os outros registros e modos. Eu também tenho mapeamentos usuais para c-c / x / v para atuar como copiar, recortar e colar para / de um registro sem nome. Agora, se eu pressionar cr cv a rapidamente, então tudo funciona, mas se eu pressionar cr cv e pausar para pensar qual registro usar, o vim decide atuar em cv (executa colar do registrador sem nome).
Existe uma maneira de fazer com que tais mapeamentos funcionem sem conflito no vim? Então, quando eu pressionar c-r c-v, ele não irá expirar e se tornar c-v.
No mapa de teclado padrão, acho que isso funciona por meio de um modo "aguardando carta-registro". Por exemplo, se eu usar c-r no modo de linha de comando, o vim exibirá "e aguardará uma letra de registro indefinidamente, o mesmo no modo normal ao pressionar".
EDIT: vim ajuda menciona que o remapeamento de c-c no modo normal quebra a capacidade de interromper scripts. É verdade, mas a questão ainda se aplica quando se usa algo como c-y.
Tags vim