Можно ли заставить gVim запоминать размер окна?

Я знаю, как установить начальный размер окна в gVim, но как заставить его автоматически восстанавливать размеры окна из последнего сеанса? Это вообще возможно?

Ответов (6)

Решение

Изменить: исправил мой ответ. Упомянутая опция сеанса winsize относится только к внутреннему макету окна vim, а не к внешним размерам.


Если вы используете

:mksession

и загрузите сеанс при запуске vim с помощью

gvim -S Session.vim

вы можете включить положение и размер окна в сеанс, включив winpos и изменив размер в параметрах сеанса, см.

:help  'sessionoptions

С помощью автокоманд вы даже можете автоматизировать сохранение и восстановление сеанса при входе и выходе из Vim.

gvim -geom 85x55

например, поместив это в свой .bashrc:

alias G='gvim -geom 85x55'

Эти строки сохраняют и восстанавливают только положение и размер:

set sessionoptions+=resize,winpos
autocmd VIMEnter * :source C:/session.vim
autocmd VIMLeave * :mksession! C:/session.vim

Если вы просто хотите, чтобы vim открывался с одинаковым размером каждый раз, вы можете отредактировать vimrc вашего пользователя в C:/Users/<yourUserName>/_vimrc (это предпочтительнее, чем редактирование системного _vimrc в папке установки vim), чтобы включить строку set lines=<yourHeight> columns=<yourWidth>

У меня был тот же вопрос, и, чтобы расширить приведенный выше ответ, вы можете просто добавить к себе следующее, .vimrc чтобы получить желаемое поведение:

set sessionoptions+=resize,winpos

видеть :h ssop

Кроме того:

В вашем .vimrc :

set ssop+=resize,winpos,winsize,blank,buffers,curdir,folds,help,options,tabpages

Затем воспользуйтесь сценарием из этой статьи . Красиво работает!