2012-01-10 4 views
3

Вы можете создать сеанс сКаков правильный способ сохранения и/или автосохранения сеанса vim?

:mksession [sessionName.vim] 

Но если впоследствии изменить эту сессию (то есть. Добавлять/удалять буферы), вы должны вручную сохранить сессию снова, но при этом будет генерировать следующую ошибку

E189: "Session.vim" exists (add ! to override) 

который является ошибкой, которую вы обычно получаете с Save As не Save. Поэтому у меня есть два вопроса:

  1. Нет ли здесь Save функции здесь?
  2. Есть ли способ для autosave все изменения в файле сеанса?

Примечание: Мне известно, что я могу выдать mksession! sessionName.vim для перезаписывания существующего файла сеанса.

ответ

6
  1. AFAIK mksession! действительно единственный способ пойти.
  2. Вы можете сделать это очень легко, только с одной строкой в ​​vimrc:
    au VimLeavePre * if v:this_session != '' | exec "mks! " . v:this_session | endif

Конечно, есть плагины, которые помогут вам сохранить/загрузить и автоматизировать сеансы экономии. Попробуйте найти http://vim.org для сеанса.

+0

Если мой доктор философии в vim все еще обновлен, я предполагаю, что в строке указано, что если текущий сеанс не пуст (существует сеанс), перезапишите текущий сеанс – puk

+0

Да. И он выполняется прямо перед тем, как vim завершает работу, поэтому ваш сеанс * обновлен * до последнего состояния. Это поведение, которое вы хотите, не так ли? – tungd

+0

работал как шарм. Спасибо – puk

Смежные вопросы