2014-11-25 5 views
0

Я работаю над своим плагином, который работает с настраиваемым буфером, содержащим некоторую информацию, которая не имеет отношения к проблеме. И у меня есть ситуации, как это, по событию BufEntervim сохранить и восстановить историю окон

  1. Сохранить текущее окно
  2. Сохранить значение eventignore
  3. Set eventignore = «все»
  4. Удалить пользовательский буфер и окно
  5. Создание пользовательского буфера и окно
  6. Восстановление eventignore
  7. Восстановить текущее окно

Проблема заключается в том, что эта последовательность действий изменяет историю ранее посещенных окон, и я не могу ее восстановить. Некоторые другие плагины используют эту историю (например, результат winnr('#')). В результате они создают «неправильные» (неожиданные для пользователя) действия. Как я могу выполнить описанные выше операции, не нажимая только что созданное окно из моего настраиваемого буфера в стек посещенных окон?

+2

Я не знаю о «истории окон», но вы можете искать ': help: keepalt' и': help: keepjumps'. Также см. ': Help special-buffers'. – romainl

ответ

0

Там нет «Истории окна», но:

  • сохранить альтернативного буфер, перед именем :keepalt на любую команду, которая будет модифицировать его (например, :edit)
  • сохранить список прыжка (например, через <C-O>), аналогично prepend :keepjumps.
Смежные вопросы