¡Muchas gracias, este comportamiento vim me ha molestado mucho! por cierto, la última versión de bufkill está en github.com/qpkorr/vim-bufkill
fsrechia
326
bp|bd # lo haré.
Detalles: bp("buffer anterior") nos mueve a un buffer diferente en la ventana actual ( bntambién funcionaría), luego bd #("buffer delete" "alternate file") elimina el buffer del que nos acabamos de alejar. Ver: help bp, help bd, help alternate-file.
No tienes idea de cuánto tiempo he estado buscando algo como esto, que es tan simple, no requiere un script completo para ejecutarlo. En mi VIMRC, ahora tengo esto asignado para CTRL + C:nnoremap <C-c> :bp\|bd #<CR>
Nube
11
Estoy tratando de reasignar usando nmap <silent> <leader>d :bp|bd #<CR>, pero estoy obteniendo E94: No matching buffer for #<CR>.
Fábio Perez
22
Ponga una barra invertida delante del |(por ejemplo :bp\|bd)
Mud
44
Sabía que no debería tener que instalar un complemento para esto. ¡Gracias!
Akash Agrawal
2
b#|bd #cambiará al último búfer usado en lugar del siguiente / anterior. Sin embargo, saltará a buffers ocultos si lo ha hecho set hidden, por lo que hice una función BD más inteligente para evitar eso.
c24w
15
Puede añadir lo siguiente a su .vimrctener Bdtrabajo como bd, pero sin tocar las divisiones de la ventana:
command Bd bp\|bd \#
Encontré esto como un complemento útil a lo que respondió Mud.
Y puede agregar los 3 comandos para descargar, eliminar y borrar un búfer: ¡comando! BUN comando bp \ | bun \ #! BD bp \ | bd \ # comando! BW bp \ | bw \ # que es equivalente a lo que proporciona bufkill pero con 3 líneas en vimrc en lugar de un complemento de más de 700 líneas.
fievel
3
Para mí solo funcionó con esto en .vimrc command! Bd bp|bd #. El comando anterior con el `` mantuvo el búfer en la lista de búferes.
Hago algo similar a @Mud, pero cambio al búfer de vista anterior #, en lugar del búfer anterior en la lista de búfer. Aquí hay una clave vinculante en mi .vimrc:
Pero encontré ciertas ocasiones donde cerró mi ventana. Además de eso, el búfer siguiente o anterior podría no ser lo que desea que se muestre en la división.
DeleteCurBufferNotCloseWindow()
funciona bien y es bastante legible] ( stackoverflow.com/a/44950143/3625404 ).Respuestas:
Me gusta mucho bufkill.vim hay una cesión temporal github , así
fuente
bp|bd #
lo haré.Detalles:
bp
("buffer anterior") nos mueve a un buffer diferente en la ventana actual (bn
también funcionaría), luegobd #
("buffer delete" "alternate file") elimina el buffer del que nos acabamos de alejar. Ver:help bp
,help bd
,help alternate-file
.fuente
nnoremap <C-c> :bp\|bd #<CR>
nmap <silent> <leader>d :bp|bd #<CR>
, pero estoy obteniendoE94: No matching buffer for #<CR>
.|
(por ejemplo:bp\|bd
)b#|bd #
cambiará al último búfer usado en lugar del siguiente / anterior. Sin embargo, saltará a buffers ocultos si lo ha hechoset hidden
, por lo que hice una función BD más inteligente para evitar eso.Puede añadir lo siguiente a su
.vimrc
tenerBd
trabajo comobd
, pero sin tocar las divisiones de la ventana:command Bd bp\|bd \#
Encontré esto como un complemento útil a lo que respondió Mud.
fuente
command! Bd bp|bd #
. El comando anterior con el `` mantuvo el búfer en la lista de búferes.Consulte eliminar un búfer sin cerrar la ventana en el wiki de consejos de VIM.
fuente
Hago algo similar a @Mud, pero cambio al búfer de vista anterior
#
, en lugar del búfer anterior en la lista de búfer. Aquí hay una clave vinculante en mi.vimrc
:Cerrar ventanas de Ubicación, si existen, cambiar al búfer de vista anterior y luego cerrar el último búfer cambiado.
fuente
Mi elección es
¡Piensa así! /// <1. Recuperar Buffer> | <2. Eliminar búfer>
¡¿por qué?! ¡Es fácil recordar 3 (+ 1) palabras clave!
¡Eso es fácil y muy útil en muchos otros casos!
¡Que tengas un buen día! :)
fuente
Solía usar :
Pero encontré ciertas ocasiones donde cerró mi ventana. Además de eso, el búfer siguiente o anterior podría no ser lo que desea que se muestre en la división.
Ahora hago esto:
nnoremap <leader>d :bd#<CR>
fuente