¿Cómo puedo averiguar en qué <Líder> está configurado? ¿Y es posible reasignar <Leader>?

64

¿Cómo puedo averiguar qué clave está configurada como mi <Leader>y cómo puedo reasignarla?

krampstudio
fuente

Respuestas:

62

Por defecto su <leader>es \, barra invertida. Puedes consultarlo con:

:echo mapleader

Si esto le da un E121: Undefined variable: mapleader, significa que está configurado en el valor predeterminado de \. Si te da algo más, entonces es eso :-)

Puedes reasignarlo fácilmente. Lo mapeé a la barra espaciadora:

:let mapleader = "\<Space>"

Tenga en cuenta que el valor de mapleaderse utiliza en el momento en que se define la asignación. Entonces este ejemplo:

let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>

let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>

Producirá dos asignaciones: ,ay <Space>a.

¡Esto significa que el valor actual de mapleaderno es necesariamente el valor que se utilizó para definir sus asignaciones!

Además, está el maplocalleader, que es el mismo que mapleader, excepto que es utilizado por <LocalLeader>y que es local para el búfer actual.

Se <Leader>puede encontrar más información sobre la ayuda de Vim con :help mapleader.

OrangeTux
fuente
3
¿Por qué necesitamos una barra invertida "\<Space>"?
thameera
10
La barra invertida es necesaria porque, de lo contrario, vim reconocerá "<Space>" como una cadena normal y no el código de la tecla de espacio. Ver :help expr-stringpara ejemplos.
tokoyami
1
Solo una nota: por ejemplo, let mapleader = ' 'también funciona para configurar el <Leader>espacio. Si hay posibles efectos secundarios al usar esta sintaxis, no dude en mencionarlos.
Daniel Andersson
Parece que maplocalleadertambién está configurado en barra invertida de forma predeterminada. Tal vez eso es lo que se entiende por "es lo mismo que mapleader, pero no estaba seguro al principio."
Marte
¿Cómo puedo deshacer un let mapleader = ","después del hecho? Lo intenté unlet mapleadertan bien como let mapleader = "\"pero no funciona. Necesito esto porque estoy usando este paquete github.com/amix/vimrc donde sugiere tener mi propio archivo de configuración por separado. El paquete asigna el líder a la coma, así que quiero deshacer esto en mi archivo de configuración separado.
Michael
8

Puede mostrar la clave de líder actual de esta manera :let mapleader

craigp
fuente
44
Intentando esto, lo entiendo E121: Undefined variable: mapleader.
Praxeolítico
Luego, por alguna razón, el cargador de arce no se configuró o se ha desarmado
craigp
55
Oh, lo tengo Solo una nota para los demás, si no configuras explícitamente la clave de líder, obtienes el error anterior.
Praxeolítico
si obtiene E121: Undefined variable: mapleader, eso significa que no se configuró, lo que usará el valor predeterminado, que es una barra invertida"\"
wisbucky