Lorsqu'un tampon est supprimé (la commande "bd [elete]"), il supprime non seulement le tampon, mais également la fenêtre divisée dans laquelle il se trouvait.
Existe-t-il un moyen de supprimer/décharger un tampon et de garder la fenêtre divisée?
J'aime vraiment bufkill.vim il y a un github repo aussi
bp|bd #
le fera.
Détails: bp
("tampon précédent") nous déplace vers un tampon différent dans la fenêtre actuelle (bn
fonctionnerait également), puis bd #
("tampon supprimer" "fichier alternatif") supprime le tampon que nous venons de quitter. Voir: help bp
, help bd
, help alternate-file
.
Voir supprimer un tampon sans fermer la fenêtre sur VIM astuces wiki.
Vous pouvez ajouter ce qui suit à votre .vimrc
pour que Bd
fonctionne comme bd
mais sans toucher aux divisions de la fenêtre:
command Bd bp\|bd \#
J'ai trouvé cela comme un complément utile à ce que Mud a répondu.
Je fais quelque chose de similaire à @Mud, mais je passe au tampon précédent, #
, au lieu du tampon précédent dans la liste des tampons. Voici une clé de liaison dans mon .vimrc
:
nnoremap <silent> <leader>q :lclose<bar>b#<bar>bd #<CR>
Fermez les fenêtres d'emplacement, s'il y en a, basculez vers le tampon de vue précédent, puis fermez le dernier tampon commuté.
Mon choix est
:sb # | bd #
:sb 1 | bd #
: <1. Recall Buffer> | <2. Delete Buffer>
Pensez comme ça! /// <1. Tampon de rappel> | <2. Supprimer le tampon>
:vert sb 2 | bd #
:vert sb <tab key~completed file(buffer)name> | bd #
pourquoi?! Il est facile de retenir 3 (+ 1) mots clés!
Ce sont faciles et très utiles dans de nombreux autres cas!
Bonne journée! :)
J'avais l'habitude d'utiliser :
:bp<bar>sp<bar>bn<bar>bd<CR>
Mais j'ai trouvé certaines occasions où cela a fermé ma fenêtre. De plus, le tampon suivant ou précédent peut ne pas correspondre à ce que vous voulez afficher dans le fractionnement.
Maintenant je fais ceci:
nnoremap <leader>d :bd#<CR>