Comment devrait fonctionner l'option 'switchbuf'?

10

J'ai récemment découvert l'option switchbufet essayé de l'utiliser, mais je ne peux pas dire si je ne comprends pas comment cela devrait fonctionner ou si cela ne fonctionne pas sur mon Vim.

À propos des différentes valeurs possibles, le doc dit:

useopen S'il est inclus, passez à la première fenêtre ouverte qui
              contient le tampon spécifié (s'il y en a un).
usetab Comme "useopen", mais aussi considérer les fenêtres dans d'autres pages d'onglets.

J'ai ensuite utilisé set switchbuf=useopen,usetabet les commandes suivantes dans une nouvelle instance de vim:

  • Ouvrez un premier tampon :e file1
  • Partager l'écran :split
  • Ouvrez un deuxième tampon :e file2
  • Revenir au premier tampon :e file1(j'ai également utilisé :bN)

Les dernières commandes pour aller au premier tampon l'ouvrent dans le deuxième split. D'après ce que je comprends de la doc, les commandes devraient placer le curseur sur la première division où le tampon est déjà ouvert grâce à useopen. De plus, le comportement est le même lorsque j'essaie les mêmes commandes avec des tabulations au lieu de séparations.

  • Ce comportement est-il celui attendu?
  • Si oui, pourriez-vous expliquer ce que cette option devrait faire?
  • Sinon, je sais que je vais devoir déboguer mon .vimrcmais peut-être existe-t-il un paramètre commun connu pour interférer avec switchbuf?
statox
la source

Réponses:

10

'switchbuf'n'est honoré que par les commandes quickfix (comme :cc) et les commandes de séparation de tampon (comme :sb).

Il n'affecte pas :bufferet les autres commandes "régulières" liées au tampon.

romainl
la source
1
Oh je vois. Comme le doc le dit en premier This option controls the behavior when switching between buffers.et seulement quelques lignes plus tard, mentionne les commandes quickfix et sbje pensais que c'était en plus des commandes de tampon standard. Merci!
statox