vimの破棄されたバッファとは何ですか?


7

私は5年以上もvimを使用していますが、破棄されたバッファーが何であるかを知らなかったときは驚きました。私が見つけた最も近い答えはこのSOの答えでした。

ロードされたが表示されなくなった破棄されたバッファは何ですか?複数のタブがある場合はどうなりますか?これらのタブにロードされているバッファのいずれかが破棄されているかどうかを確認してください。

回答:


8

「放棄された」バッファーは、変更を保存せずに残したバッファーです。

あなたが持っている場合set nohidden(デフォルト値)を変更したバッファを残すようにしようとすると、Vimは一般的に保存されていない変更について警告します。あなたが強打であなたの方法を強制すると、以前のバッファは「放棄され」、あなたはあなたのすべての未保存の変更を失います。

を使用している場合set hidden、変更されたバッファは、離れたときに現在の状態に保たれるため、技術的には「破棄」されることはありません。保存されていない変更でVimを終了しようとすると、警告が表示されます。

ウィンドウに表示されている限り、バッファは「非表示」または「放棄」とは見なされないため、別のタブページの別のウィンドウに現在表示されているバッファは、「非表示」でも「放棄」でもありません。


この場合、バグを発見した可能性があります(または単に奇妙な動作):1.バッファを編集し、保存しないでください。2.非表示に設定します。3.別のバッファーに切り替えます。4. nohiddenを設定します。5.隠しバッファに戻ります。6.非隠しバッファに戻る:結果として、隠しバッファは自動的に保存されます。これは期待どおりに機能していますか?
スタン、2015

@stamm、再現できません
Christian Brabandt、2015

1
@stanm:最初のバッファーが変更された後も再現できません。ただし、現在は2番目のバッファーに戻ることができません(nohidden設定されているため)。あなたの設定は何ですか?
nobe4

@ Nobe4:わかりました、それは私が行動として期待したものです。私の設定は複数の外部rcファイル(corp)をソースにしているので、おそらくそのどこかに理由があります。でも、助けてくれてありがとう!
スタン、2015

@stanmはおそらくautowrite関与しますか?set autowrite?そしてset autowriteall?、彼らは何を示していますか?
Jason Hu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.