2014-11-25 251 views
0

我正在處理我的插件,它與一個自定義緩衝區一起工作,其中包含一些與問題無關的信息。我有這樣的情況下,對事件BufEntervim保存和恢復windows歷史

  1. 保存當前窗口
  2. 保存eventignore值
  3. 設置eventignore =「全部」
  4. 刪除自定義緩衝區和窗口
  5. 創建自定義緩存和窗口
  6. 還原eventignore
  7. 還原當前窗口

這裏的問題是,這個操作序列修改了先前訪問過的窗口的歷史,我不'恢復它。其他一些插件使用此歷史記錄(例如,winnr('#')的結果)。由於他們產生「錯誤」(意外的用戶)行爲。如何在不將新創建的窗口從我的自定義緩衝區中推送到訪問窗口堆棧的情況下執行上述操作?

+2

我不知道「窗口歷史」功能,但您可能正在尋找':help:keepalt'和':help:keepjumps'。另請參閱':help special-buffers'。 – romainl 2014-11-25 15:10:56

回答

0

有沒有「窗口中的歷史」,而是:

  • 保留輪換緩衝區,在前面加上:keepalt到將修改它的任何命令(例如:edit
  • 保留跳轉列表 (例如,通過<C-O>),同樣預先:keepjumps