Bagaimana seharusnya opsi 'switchbuf' bekerja?

10

Baru-baru ini saya menemukan opsi switchbufdan mencoba menggunakannya tetapi saya tidak bisa mengatakan jika saya tidak mengerti bagaimana cara kerjanya atau jika itu sebenarnya tidak bekerja pada Vim saya.

Tentang perbedaan nilai yang mungkin, dokter mengatakan:

useopen Jika disertakan, lompat ke jendela terbuka pertama yang
              berisi buffer yang ditentukan (jika ada).
usetab Seperti "useopen", tetapi juga pertimbangkan windows di halaman tab lain.

Saya kemudian telah menggunakan set switchbuf=useopen,usetabdan perintah berikut dalam contoh vim baru:

  • Buka buffer pertama :e file1
  • Membagi layar :split
  • Buka buffer kedua :e file2
  • Kembali ke buffer pertama :e file1(Saya juga telah menggunakan :bN)

Perintah terakhir untuk membuka buffer pertama membukanya di split kedua. Dari apa yang saya mengerti dari doc, perintah harus menempatkan kursor ke split pertama di mana buffer sudah terbuka berkat useopen. Juga perilaku yang sama ketika saya mencoba perintah yang sama dengan tab, bukan split.

  • Apakah perilaku ini yang diharapkan?
  • Jika demikian, bisakah Anda menjelaskan apa yang harus dilakukan opsi ini?
  • Jika tidak saya tahu bahwa saya harus men-debug saya .vimrctapi mungkin apakah ada pengaturan umum yang diketahui mengganggu switchbuf?
statox
sumber

Jawaban:

10

'switchbuf'hanya dihormati oleh perintah perbaikan cepat (seperti :cc) dan perintah pemisahan buffer (seperti :sb).

Itu tidak memengaruhi :bufferdan perintah terkait "penyangga" lainnya.

romainl
sumber
1
Oh begitu. Seperti yang dikatakan dokter pertama This option controls the behavior when switching between buffers.dan hanya beberapa baris kemudian menyebutkan perintah perbaikan cepat dan sbsaya pikir itu adalah tambahan dari perintah buffer biasa. Terima kasih!
statox