2 votes

Changement de tampon dans Vim

Je suis récemment passé d'Emacs à Vim, il se peut donc que je ne comprenne pas du tout le fonctionnement de Vim.

J'ai ouvert un fichier dans Vim et j'ai apporté quelques modifications, mais je ne les ai pas enregistrées. J'utilise ensuite :e otherfile pour ouvrir un second fichier, et y apporter quelques modifications. Encore une fois, sans enregistrer les changements, je voudrais revenir au premier buffer. J'utilise :bn pour ça, mais quand je le fais, j'ai E37: No write since last change ... . Si je le fais :bn! puis je peux revenir au premier tampon. Depuis la première mémoire tampon, je peux revenir à la deuxième mémoire tampon avec un simple clic. :bn mais je dois faire :bn! pour passer du deuxième tampon au premier à chaque fois.

J'ai set bufhidden=hide dans mon vimrc, mais si j'exécute :set bufhidden? dans Vim, j'obtiens bufhidden= . C'est peut-être ça le problème ?

Editar: J'ai un peu réduit le problème. Dans le premier fichier, :set bufhidden? renvoie à bufhidden=hide mais dans le second fichier, il renvoie bufhidden= . Qu'est-ce qui se passe avec ça ? Est-ce que je rate quelque chose de fondamental à propos des tampons Vim ?

Edit2 : Ok, il semble que set bufhidden=hide ne s'applique qu'au premier tampon ouvert. Elle doit être appelée explicitement dans les buffers suivants. Je dois être complètement à côté de la plaque, car cela ne semble pas utile.

3voto

subbu Points 101

Ok, j'étais juste un idiot. Je ne voulais pas set bufhidden=hide dans mon vimrc - c'est juste pour un seul buffer. Maintenant que je l'ai changé en set hidden tout fonctionne comme je le pensais.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X