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é?
buffers
comando (tenga en cuenta la 's') enumera los búferes, mientras que el comandobuffer
(no 's'), cuando se le da una opción, cambiará qué búfer se muestra en la ventana.Respuestas:
Necesita establecer la
wildcharm
configuración. Prueba esto:Al menos esto funciona aquí.
fuente
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?
Con esta asignación, se muestra una lista de buffers (
:ls
) y:b
se 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).fuente