2011-12-16 20 views
5

Seguí la guía here para crear mapppings vim. Poner el siguiente en mi archivo .vimrc¿Por qué no funciona mi mapeo vim?

let mapleader=',' 
if exists(":Tabularize") 
    nmap <Leader>a= :Tabularize /=<CR> 
    vmap <Leader>a= :Tabularize /=<CR> 
    nmap <Leader>a: :Tabularize /:\zs<CR> 
    vmap <Leader>a: :Tabularize /:\zs<CR> 
endif 

La página dice cuando escribo ,a= se debe decir en forma de tabla para alinear mis líneas. Pero en su lugar, inserta el carácter = donde está el cursor.

Tengo Tabularize instalado y el comando :Tabularize funciona cuando lo llamo sin mapeo.

¿Qué estoy haciendo mal?

Respuesta

12

Su archivo .vimrc se lee y se ejecuta antes de que se carguen los complementos, por lo que :Tabularize no está definido.

a averiguar el orden exacto en el que las diversas secuencias de comandos se denominan en el arranque puede ejecutar el comando:

:scriptnames 

y se puede aprender los detalles sobre el proceso de inicialización con:

:help startup 
+2

Ah, esto es todo. La eliminación de la sentencia if lo solucionó. – fent

+1

Aún quería tener carga contextual, así que seguí [esto] (http://stackoverflow.com/questions/17688232) y creé un script de configuración posterior a la carga. Claro, es otro archivo del que preocuparse, pero parece el mejor lugar. –

0

Asegúrese de configurar su mapleader en ,. Originalmente está mapeado a \.

Para lograr esto añadir esto a su vimrc o escribe en la ventana de comandos:

let mapleader="," 

A pesar de su código que parece que está haciendo esto, usted tiene que asegurarse de que no había sido reconfiguradas algun lado. Para ver qué está configurado actualmente escriba let mapleader en la ventana de comandos.

+0

Escribir 'let mapleader =' en vim me dio 'E15: Expresión inválida:'. La respuesta se encuentra por cierto, solo dejándote saber. – fent

+0

Gracias DeaDEnD Corregí el error tipográfico. –

Cuestiones relacionadas