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.