首页 > 解决方案 > Vim打开一定大小但关闭时返回终端窗口大小

问题描述

所以我在 MAC OS 上的终端窗口大小是 100 列和 30 行。

当我vim这样打开时,vim filename.txt我希望尺寸打开到指定的任何尺寸.vimrc(这有效)。

我的大小.vimrc是 200 列和 40 行。当我退出 vim 时,:q我希望窗口的大小回到终端大小(100 列和 30 行),但它仍然是 200 列和 40 行。vim有没有办法在关闭时自动返回 100 列和 30 行?

标签: vimterminal

解决方案


Vim 检测现有终端大小并初始化'columns''lines'选项值。如果在覆盖它们之前保存它们,则可以恢复VimLeave事件的原始值。

let g:save_columns = &columns
let g:save_lines = &lines
autocmd VimLeave * let &columns = g:save_columns | let &lines = g:save_lines
set columns=100 lines=30

实际上,当您在 中定义:autocmd~/.vimrc,您不需要使用变量,而可以简单地对 中的值进行编码:autocmd

execute printf('autocmd VimLeave * set columns=%d lines=%d', &columns, &lines)
set columns=100 lines=30

推荐阅读