是否有可能让gVim记住窗口大小?

Cha*_*per 35 vim session persistence window

我知道如何在gVim中设置初始窗口大小,但是如何让它自动恢复上一个会话的窗口尺寸?这甚至可能吗?

use*_*400 16

编辑:更正了我的回答.提到的winsize sessionoption仅指vim内部窗口布局,而不是外部尺寸.


如果你使用

:mksession
Run Code Online (Sandbox Code Playgroud)

并在vim启动时加载会话

gvim -S Session.vim
Run Code Online (Sandbox Code Playgroud)

您可以通过在会话选项中包含winpos和调整大小来将窗口位置和大小包括在会话中,请参阅

:help  'sessionoptions
Run Code Online (Sandbox Code Playgroud)

使用自动命令,您甚至可以在Vim进入和退出时自动保存和恢复会话.


And*_*vić 12

这些行只保存和恢复位置和大小:

set sessionoptions+=resize,winpos
autocmd VIMEnter * :source C:/session.vim
autocmd VIMLeave * :mksession! C:/session.vim
Run Code Online (Sandbox Code Playgroud)

  • 这是一个不错的主意,但是当使用Vim打开单个文件时,会话保存还可以保存上次打开的文件并且往往会忽略这些文件.Wikia中有一个脚本,它以更干净的方式完成它(即没有弄乱其他会话元素):http://vim.wikia.com/wiki/Restore_screen_size_and_position (4认同)

小智 6

另外:

在你的.vimrc:

set ssop+=resize,winpos,winsize,blank,buffers,curdir,folds,help,options,tabpages
Run Code Online (Sandbox Code Playgroud)

然后,使用本文中的脚本.它工作得很漂亮!