web-dev-qa-db-fra.com

Vim: Supprimer le tampon sans perdre la fenêtre divisée

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?

121
byneri

J'aime vraiment bufkill.vim il y a un github repo aussi

23
GWW

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.

279
Mud
12
icecrime

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.

11
rrosa

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é.

3
lvarayut

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!

  1. sb split_buffer
  2. bd delete buffer ▶ 2 mots-clés simples
  3. Nombre ou nombre de tampons
  4. vert ▶ short_form of vertical (split_buffer ou autre)

Ce sont faciles et très utiles dans de nombreux autres cas!

Bonne journée! :)

1
Jeongpyo Lee

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: 

  • passer à la mémoire tampon que je veux travailler
  • Supprimer le tampon alternatif 

nnoremap <leader>d :bd#<CR>

0
DaftWooly