Vim窗口大小调整

3
我使用Vim在水平方向上分割了我的窗口,但是在分割后,新的窗口占据了原始窗口大小的一半,我想改变这一点,确保新的窗口几乎占据了旧窗口的整个空间。
基本上,如果我使用Vim在水平方向上打开了三个文件,我应该在屏幕底部看到三个状态栏,第三个文件占据了屏幕的其余部分。 我已经知道可以通过Ctrl+W+箭头键来浏览文件。所以如果我现在导航到第二个文件,我应该在屏幕顶部和底部各看到一个状态栏。
请告诉我如何配置相同的设置。我在线查找时发现所有内容都是动态更改大小或调整大小的选项,但我想要静态的一次性配置(例如在vimrc或bashrc中)。
4个回答

7
如果您将winheight选项设置为999,则当前窗口会尽可能地占据屏幕,所有其他窗口仅占用一行(我见过这被称为“Rolodex模式”):
set winheight=999

3
“Rolodex模式”太棒了! - romainl
谢谢伙计,这个完美地解决了我的问题,我已经将配置添加到我的vimrc中!现在每个文件的状态栏之间只有一行。我可以接受这个。再次感谢!顺便说一下,我使用的是普通的vim,而不是rolodex,但仍然可以正常工作。 - Pkp
效果被称为“Rolodex”,因为您一次只能看到一个窗口,而且您会有一种“堆叠”的感觉。没有“Rolodex Vim”。 - romainl
这可能是经典的Rolodex模式:https://www.vim.org/scripts/script.php?script_id=1083,但它可能只是使用这些设置https://vim.fandom.com/wiki/Window_zooming_convenience,其中包括 :set noequalalways winminheight=0 winheight=9999 helpheight=9999-当你的空间不足或者有很多文件时,非常适用于快速翻页。 - NeilG
这太棒了! - collinsmarra
这太棒了! - collinsmarra

7
您可以在命令模式下输入:res[ize] +N:res[ize] -N,其中 N 表示您的窗口将相应增大或缩小的量。
请前往第6点(窗口调整大小) http://vimdoc.sourceforge.net/htmldoc/windows.html ,但该文章包含关于VIM中窗口管理的所有内容。
希望这有所帮助!

嘿,感谢提供的信息。我看过了,但每次打开文件都需要这样做。我想要的是像静态配置一样的东西。 - Pkp
你可以在 .vimrc 中添加一个脚本,以便在打开 vim 时自动化它。我会看看是否有时间,然后更新我的答案。另外,你应该尝试 @magnus 的建议,那实际上是我最常用的方法。 - wotann07

4

您可能更喜欢使用vim选项卡,它们的工作方式与您所描述的相似。

请尝试以下操作:

vim -p file1 file2 file3

使用 :tabn 和 :tabp 命令在标签之间前后循环。

我还喜欢在 .vimrc 中添加以下映射,使用 ctrl-l 和 ctrl-h 分别前后循环:

noremap <C-h> :tabp<CR>
noremap <C-l> :tabn<CR>

1
您还可以使用gtgT正常模式命令来在标签之间进行切换。 - dash-tom-bang

1

拆分窗口的命令:

:[N]sp[lit] [++opt] [+cmd]

N是新窗口的高度。默认情况下,使用当前窗口高度的一半。垂直分割同理:

:[N]vsp[lit] [++opt] [+cmd]

N是窗口分割的宽度。 等等: [N]new, [N]vnew

详细信息请阅读 :help split

但我不明白为什么您不使用缓冲区?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接