vim: envío de la tecla de finalización de tabulación contra una combinación de teclas asignada

2

Para cambiar entre buffers sin instalar ningún complemento, una buena forma es escribir

:b <tab>

Que muestra todos los nombres de búfer actuales en la barra de estado y puede elegir uno con las teclas del cursor e ingresar.

Pero: b <tab> es 5 pulsaciones de teclas y me gustaría asignarlo a un <leader>.

Pero configurar lo siguiente no funciona.

:nnoremap <Leader>. :b <Tab>

Muestra ": b ^ I" en la barra de estado y en realidad no abre los nombres de búfer en la barra de estado.

Alguien sabe por qué?

CDR
fuente
el bufferscomando (tenga en cuenta la 's') enumera los búferes, mientras que el comando buffer(no 's'), cuando se le da una opción, cambiará qué búfer se muestra en la ventana.
lornix

Respuestas:

4

Necesita establecer la wildcharmconfiguración. Prueba esto:

set wildcharm=<Tab>
nnoremap <leader>. :b <Tab>

Al menos esto funciona aquí.

Christian Brabandt
fuente
¡Guauu! Gracias. Nunca he escuchado / leído sobre eso.
romainl
¡SÍ! Eso lo solucionó !!! OSX en MacBook. Gracias :-)
CDR
1

Creo que tiene algo que ver con <tab>no ser un argumento real :b.

Si suelta la pestaña, como nnoremap <leader>. :b<space>puede presionar <tab>para obtener el menú.

Tiene que presionar 3 teclas para invocar el menú, pero puede que tenga que presionar <tab>más veces para seleccionar el búfer correcto y presionar <CR>. Eso es un mínimo de 4 pulsaciones de teclas si desea el primer búfer, que es bastante bueno, pero ¿qué pasa si desea el 7º o 12º búfer?

¿Puedo sugerir otra forma?

nnoremap <leader>. :ls<CR>:b<Space>

Con esta asignación, se muestra una lista de buffers ( :ls) y :bse inicia el comando, esperando un número de buffer como argumento. Eso es 4 pulsaciones de teclas ( ,.5<CR>), cualquier búfer al que quieras saltar (bueno, si tienes 10 o más búferes, serían 5 pulsaciones de teclas pero obtienes el punto).

No sé cómo podría acortarlo además de asignar una sola tecla (como <F11>o lo que sea).

romainl
fuente