Vim reduz o atraso após emitir um comando

Vim reduz o atraso após emitir um comando

Tenho mapeamentos .vimrcpara abrir ou alternar para aplicativos comumente usados.

Caso de uso: tenho 10 aplicativos abertos e estou no MacVim. É mais rápido emitir <Leader>sco que está mapeado para map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>do que Command+Tabvárias vezes para acessar o aplicativo Chrome.

No entanto, há um atraso do vim desde o momento em que emito <Leader>scaté o momento em que ele executa a ação.

Como posso reduzir esse atraso apenas para esse mapeamento? Eu gostaria que isso fosse tão instantâneo quanto executar open /Applications/Google\ Chrome.appa partir da linha de comando, mas o vim introduz um pequeno atraso antes de executar esse comando.

Editar: notei que há uma timeoutlenconfiguração, porém que é global. Eu gostaria de algo semelhante apenas para esses mapeamentos.

Responder1

Provavelmente, isso ocorre porque você tem outro mapeamento que começa com <Leader>sce o Vim está esperando para ver se você está apenas digitando o mapeamento mais curto ou se pretende digitar o outro mapeamento mais longo.

A única maneira de contornar esse problema é alterar um dos mapeamentos para que o Vim saiba que não há ambigüidade, o que deve fazer com que ele execute o comando instantaneamente.

Digitar " :map <leader>sc" e pressionar enter deve mostrar todos os mapeamentos que começam com essa sequência.

Responder2

Você não pode ajustar timeoutlencomandos/mapeamentos específicos no Vim. Você provavelmente poderia fazer isso para um buffer/janela/guia específico, mas ainda assim seria o mesmo valor para qualquer comando/mapeamento nesse contexto específico.

Mas acho que a demora é causada pelo uso opendaqui.

Por que você não usa Mercúrio? Eu o uso há anos: ele fornece o mesmo mecanismo em qualquer contexto em que eu esteja. Esteja eu no Vim, no iTunes, no Outlook ou no Preview, posso digitar exatamente a mesma sequência de teclas para mudar para o Chrome. Essa onipresença por si só o torna um item obrigatório para mim. Isso e a velocidade de <C-Space>c<CR>.

Em seu sistema, você poderia teoricamente economizar tempo ao fazer Vim > Chrome, mas como você faz Chrome > Vim? AFAIK você não pode usar <leader>svno Chrome, então você deve recorrer a outro mecanismo. São pelo menos dois sistemas para configurar e manter ou pelo menos um personalizado muito eficaz e um padrão menos eficaz.

informação relacionada