Veamos para qué sirve la utilización de la tecla <leader> en el editor Vim, cómo modificarla a nuestros gustos y crear nuestros propios atajos de teclado
Quizás en algún tutorial sobre Vim o en un fichero .vimrc de otra persona te has topado con la mención a la tecla <leader>
y no sabes exactamente a qué se refiere, cómo configurarla a nuestros gustos y utilizarla.
Trataré en este tutorial de dejarte esas preguntas más claras, espero conseguirlo. Este artículo se une a la serie de artículos sobre el editor Vim que vengo publicando en mi blog desde hace meses y que puedes consultar en estos enlaces:
La tecla <leader>
de Vim es una manera de crear unos atajos de teclado personalizados para comandos que quieras definir. Ya sabes que Vim utiliza atajos de teclado con la combinación de teclas Ctrl + (otra tecla)
Gracias a la tecla <leader> el propio usuario puede definir sus propios atajos de teclado, o puede que algún plugin de Vim los utilice y así no interferir con atajos de teclado ya establecidos en Vim.
Imagina por ejemplo que de manera habitual mientras utilizas Vim tienes que saltar al siguiente párrafo y borrar 3 líneas, si esta tarea la usas mucho en tu trabajo con Vim, quizás es buena idea crear un atajo de teclado que haga eso.
Vamos a crear un atajo con la tecla <leader>d para ello podemos escribir este comando en nuestro .vimrc:
nmap <leader>d }d3j
Así al pulsar la tecla <leader> + la tecla d (la segunda pulsación deberás hacerla en menos de 1 segundo) hará lo que he puesto en el ejemplo. Al utilizar la tecla <leader> nos aseguramos que no «pisamos» ningún atajo de teclado ya configurados de Vim.
De manera predeterminada en Vim la tecla <leader> está asignada a la contrabarra, es decir: \ Pero podemos configurarla a la tecla que nos parezca más cómoda de utilizar. Por ejemplo a la coma (,) o a al espacio ( )
La tecla del espacio es bastante inútil en el modo de comandos de Vim y es una tecla cómoda de pulsar por ambas manos, podemos definir nuestra tecla <leader> al espacio, añadiendo esta línea a nuestro archivo .vimrc
let mapleader = "\ "
Y ahora vamos a crear un atajo de teclado en nuestro .vimrc con la tecla <leader> en el que en vez de tener que escribir :w para guardar los cambios en un documento, simplemente pulsemos <leader>w y haga lo mismo
nnoremap <Leader>w :w
Guardamos los cambios, y salimos y volvemos a entrar en Vim. Ahora podemos hacer un cambio en nuestro archivo y para guardarlo, pulsar la tecla espaciadora, nuestra nueva tecla <leader>w y Vim escribirá nuestro comando.
Como veis las posibilidades son muchas y esto hace que podamos adaptar Vim a nuestras necesidades y gustos para ahorrarnos un montón de trabajo repetitivo.
Espero que haya quedado más claro qué es eso de la tecla <leader> y te animes a utilizarla ¿Qué atajos de teclado utilizas tu con la tecla <leader>? Compártelos en los comentarios…
Nunca he jugado mucho con key binding en vim.
¿Por qué «}d3j»? ¿No funcionaría «}3dd»?
«}d3j» borra 4 líneas.