Vim reduce el retraso después de emitir un comando

Vim reduce el retraso después de emitir un comando

Tengo asignaciones dentro de mi .vimrcpara abrir o cambiar a aplicaciones de uso común.

Caso de uso: Tengo 10 aplicaciones abiertas y estoy en MacVim. Es más rápido emitir <Leader>sccuál está asignado map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>que hacerlo Command+Tabvarias veces para acceder a la aplicación Chrome.

Sin embargo, hay un retraso por parte de vim desde el momento en que emito <Leader>schasta que ejecuta la acción.

¿Cómo puedo reducir este retraso sólo para este mapeo? Me gustaría que esto fuera tan instantáneo como ejecutar open /Applications/Google\ Chrome.appdesde la línea de comando, sin embargo, vim introduce un ligero retraso antes de ejecutar ese comando.

Editar: noté que hay una timeoutlenconfiguración, sin embargo, es global. Me gustaría algo similar sólo para estas asignaciones.

Respuesta1

Lo más probable es que esto se deba a que tiene otro mapeo que comienza con <Leader>scy Vim está esperando para ver si simplemente está escribiendo el mapeo más corto o tiene la intención de escribir el otro mapeo más largo.

La única forma de solucionar este problema es cambiar una de las asignaciones para que Vim sepa que no hay ambigüedad, lo que debería hacer que ejecute el comando instantáneamente.

Al escribir " :map <leader>sc" y presionar Intro se mostrarán todas las asignaciones que comienzan con esa secuencia.

Respuesta2

No puede realizar ajustes timeoutlenpara comandos/asignaciones específicos en Vim. Probablemente podría hacer eso para un búfer/ventana/pestaña específica, pero seguiría siendo el mismo valor para cualquier comando/asignación en ese contexto específico.

Pero creo que el retraso se debe al uso de openaquí.

¿Por qué no usas Quicksilver? Lo he usado durante años: proporciona el mismo mecanismo en cualquier contexto en el que me encuentre. Ya sea que esté en Vim, iTunes, Outlook o Preview, puedo escribir exactamente la misma secuencia de teclas para cambiar a Chrome. Esta ubicuidad por sí sola lo convierte en algo imprescindible para mí. Eso y la velocidad de <C-Space>c<CR>.

En su sistema, teóricamente podría ahorrar tiempo al hacer Vim > Chrome, pero ¿cómo se hace Chrome > Vim? AFAIK no puedes usarlo <leader>sven Chrome por lo que debes recurrir a otro mecanismo. Son al menos dos sistemas para configurar y mantener o al menos uno personalizado muy efectivo y otro predeterminado menos efectivo.

información relacionada