「switchbuf」オプションはどのように機能しますか?


9

私は最近このオプションswitchbufを見つけて使用しようとしましたが、どのように機能するのか理解していないのか、それとも実際にVimで機能しないのかはわかりません。

考えられるさまざまな値について、ドキュメントでは次のように述べています。

useopen含まれている場合
              、指定されたバッファ(存在する場合)を含む最初の開いているウィンドウにジャンプします。
usetab "useopen"に似ていますが、他のタブページのウィンドウも考慮します。

次にset switchbuf=useopen,usetab、新しいvimインスタンスで次のコマンドを使用しました。

  • 最初のバッファを開く :e file1
  • 画面を分割する :split
  • 2番目のバッファーを開く :e file2
  • 最初のバッファに戻ります:e file1(私も使用しました:bN

最初のバッファに移動する最後のコマンドは、2番目の分割でそれを開きます。私がドキュメントから理解したことから、コマンドは、のおかげでバッファがすでに開いている最初のスプリットにカーソルを置く必要がありますuseopen。また、スプリットの代わりにタブを使用して同じコマンドを試しても、動作は同じです。

  • この動作は予期されたものですか?
  • もしそうなら、このオプションが何をすべきかを説明できますか?
  • .vimrcがデバッグしなければならないことを知らない場合、おそらく干渉することが知られている一般的な設定はありswitchbufますか?

回答:


9

'switchbuf'は、quickfixコマンド(など:cc)とバッファ分割コマンド(など:sb)でのみ有効です。

:bufferその他の「通常の」バッファ関連のコマンドには影響しません。


1
ああなるほど。ドキュメントが最初に言ったように、This option controls the behavior when switching between buffers.あと数行だけがクイックフィックスコマンドに言及しているのでsb、それは通常のバッファコマンドの追加だと思いました。ありがとう!
statox
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.