2009-06-07 12 views
25

No entiendo lo que hace la siguiente línea en .vimrcIncapaz de entender una línea en .vimrc

nmap <silent> <leader>v :EditConfig<cr> 

Parece que

  • significa nmap noremap
  • silencio parece significar parecer no hay un pitido en Vim
  • líder parece significar el primer carácter en el modo:
  • v parece significar modo visual
  • EditConfig debe ser un comando en vim en el modo: (Sin embargo, no lo es.)

¿Qué significa la línea en .vimrc?

Respuesta

50

nmap significa "asignar una secuencia de teclas cuando está en modo normal" (ver vim's docs). <silent> le dice a vim que no muestre ningún mensaje cuando se usa esta secuencia de teclas. <leader> significa que la secuencia de teclas comienza con el carácter asignado a la variable mapleader - una barra inclinada invertida, si no se ha ejecutado aún la instrucción let mapleader = en el punto nmap se ejecuta. Y el v es el resto de la secuencia de teclas.

Así que en general se trata de la cartografía, en el modo normal, una secuencia de barra invertida-v clave para mostrar ningún mensaje y ejecutar :EditConfig que es probablemente una función definida previamente en el vimrc para editar archivos de configuración (véase, por ejemplo this vimrc, buscar en navegador para editconfig). :call EditConfig() al final (como el archivo vimrc di la URL a los usos) sería mejor, creo.

+2

@Alex: ¡Gracias por tu respuesta! Tengo los datos ahora en mi cuaderno, para no volver a cometer los mismos errores :) –

+0

IMO, ': EditConfig' es un comando. – kev

+2

Por qué ': llamar a EditConfig()' sería mejor que ': EditConfig'? : curioso-n00b-cara: –

5

Parecería que se echa en falta una función ...

intento,

function! EditConfig() 
    for config in ['$MYGVIMRC', '$MYVIMRC'] 
     if exists(config) 
      execute 'edit '.config 
     endif 
    endfor 
endfunction 

Check this example.

Cuestiones relacionadas