¿Cuáles son las claves seguras para volver a asignar en vim?

7

Hasta ahora he estado tratando de usar Vim en la configuración de vainilla como sea posible, para evitar problemas al moverme entre máquinas. Sin embargo, hay algunas cosas que realmente me gustaría enlazar teclas, como acortar "_diwP , que uso a menudo para eliminar la palabra debajo del cursor y reemplazarla con una del portapapeles. ¿Hay alguna clave en particular que esté reservada convencionalmente para asignaciones definidas por el usuario? El punto de esta pregunta es principalmente que me gustaría evitar problemas más adelante cuando decido instalar algún complemento o llevar mis archivos de configuración a vim en otro sistema operativo y descubrir que mis asignaciones de teclas coinciden con otra cosa.

    
pregunta Weeble 01.02.2011 - 11:56

3 respuestas

9

Todas las cartas ya están tomadas:

enlace (enlace roto) enlace (archivo web - HTML) enlace (texto sin formato)

Pero si quiero comandos permanentes, uso <leader> como prefijo.

:map <leader>l    :list!

El líder predeterminado es '\', por lo que al escribir \l puedo cambiar el estado de la lista.
Tenga en cuenta que el líder puede ser cambiado. Ver :help leader

Nota: para asegurarme de tener mi asignación de vim disponible en cualquier momento que lo desee, simplemente coloco el archivo .vimrc en un servidor web conveniente. Luego puedo usar wget (o un navegador) para obtener mi archivo .vimrc en cualquier momento.

    
respondido por el Martin York 01.02.2011 - 12:24
4

Todas las claves se pueden volver a asignar en Vim. Sin embargo, hay dos tipos de asignaciones: recursive y no recursivo .

a) Recursivo:

Si vuelve a asignar, por ejemplo,

nmap x dd

x elimina la línea en lugar de un carácter

Habrá perdido efectivamente la tecla x para futuras asignaciones, además de haber sobrescrito la función de eliminación de caracteres. Si en algún momento en el futuro algún complemento dependiera de esa clave, eso podría presentar un problema.

Por ejemplo,

nmap <C-x> xxx

eliminará tres líneas en lugar de tres caracteres, porque efectivamente está haciendo dddddd. Este es un problema, ya que efectivamente algunos de sus complementos utilizan el x (y seguramente lo harán) creará problemas (desagradables).

b) Mapeo no recursivo

nnoremap x dd

resuelve ese problema de manera que asignará dd a x para que al presionar < strong> x elimina una línea en lugar de un carácter, pero cualquier asignación futura

nnoremap <C-x> xxx

tendrá el original x en la funcionalidad del lado derecho.

Siempre use nnoremap, inoremap ... la asignación no recursiva en lugar de nmap, imap y así sucesivamente ... a menos que tenga una razón muy clara para hacer lo contrario.

    
respondido por el Rook 21.11.2011 - 17:49
3

Tengo un teclado francés. Uso é , è , à , ù , µ , § , £ , ç ...

    
respondido por el mouviciel 21.11.2011 - 17:43

Lea otras preguntas en las etiquetas