我想让我的编辑给我尽可能多的屏幕空间,因为这样可以提高我一次查看大多数代码的能力。

问题是gvim似乎给了我一个80x25窗口还是要记住最后一个非最大尺寸,具体取决于我如何调用它。

那么,无论任何记住的状态如何,我如何都可以使其强制尽可能大?

评论

实际上,我会建议使用github.com/xolox/vim-shell插件,该插件在win32和win64上均适用于gvim,并使用在全屏/正常模式之间切换

#1 楼

您可以在以下行中放置以下行:

autocmd GUIEnter * simalt ~x


gvimrc文件的末尾。

此方法使用autocmd功能来编织魔术。命令autocmd GUIEnter *指定成功启动GUI的文件模式*(任何文件)后要运行的命令。

它将执行的命令simalt ~x(仅在Windows的vim变体中)将模拟击键Alt Spacebarx,这是使窗口最大化的击键。

还可以使用缩短的版本:

au GUIEnter * sim ~x


但是我我自己更喜欢完全扩展的命令,尤其是因为这是您设置并忘记的事情,仅在将vim安装到Windows系统上时才输入一次。


请记住,这是在模拟击键为了达到目的。在英文版本上,因为Alt-SpaceX是最大化窗口的方式,所以它会很好用。

如果这对您不起作用,则应在所使用的任何语言环境中研究击键。例如,法语版本将使用Agrandir(放大)和n作为控制击键,因此您需要的命令是:

autocmd GUIEnter * simalt ~n


(实际上

如果您是其他(非英语,非法语)变体,只需在窗口上按Alt-Space即可调出系统菜单,然后查找要使用什么键(应该带下划线)。


要查找用于添加所需命令的gvimrc文件,可以输入:

:version
:echo $VIM
:echo $HOME


,您应该获得启动文件和变量的列表,例如:

system gvimrc file = "$VIM/gvimrc"
  user gvimrc file = "$HOME/_gvimrc"

C:\Program Files (x86)\Vim
C:\Users\Pax\Documents


评论


您的缩短版本的autocmd缺少*。

–詹姆斯
2015年2月24日,下午3:22

此方法对我不起作用:不是最大化窗口,而是打开一个弹出菜单,允许您恢复,移动,最小化,最大化(...)窗口。我正在使用Windows 7 SP1和gvim 7.4.711。我该如何运作?

–statox♦
15年5月20日在7:48

@statox,这就是如果您从头开始省略x的结果。确保您拥有全文au GUIEnter * sim〜x。

–user579
15年5月20日在7:52

@paxdiablo我不确定我是否将完整的行(长版和短版)从au复制到〜x。是否有我缺少的空白字符或类似的东西?

–statox♦
15年5月20日在7:57

@statox,当您打开gvim窗口并单击系统按钮(文件菜单上方最左上角的vim图标)时,您看到最大化吗?打开该系统菜单后,按x时它会最大化吗?

–user579
15年5月20日在8:06

#2 楼

除了最大化窗口,为什么不通过自动启动全屏模式获得更多的空间来进行完整的vim多窗口编辑体验? ;-)

最终结果的完整屏幕截图(=所有视频像素容量):


在我看来,这比Windows最大化要好:完整的完整屏幕(就像我以前在远程unix终端上进行编辑时使用ALT-Enter进行的PuTTY一样)。

我解释了如何:

步骤1

安装出色的精美实用程序,以便在Windows上的gvim中全屏使用:

https://github.com/derekmcloughlin/gvimfullscreen_win32/tree/master

您必须下载DLL文件gvimfullscreen.dll,并将其放在gvim.exe所在的目录下(带有gVim 7.4版的$ VIM / vim74)。要下载DLL(不使用git):

https://github.com/derekmcloughlin/gvimfullscreen_win32/raw/master/gvimfullscreen.dll

步骤2

编辑.vimrc文件(在vim中::e $HOME/.vimrc),插入以下命令以自动启动全屏,并允许F11功能键在3种状态之间切换模式:全屏,最大化窗口,原始/默认窗口大小:

"run the command immediately when starting vim
autocmd VimEnter * call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)

" activate/deactivate full screen with function key <F11>  
map <F11> <Esc>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>


步骤3

编辑.gvimrc文件(在vim::split $HOME/.gvimrc内),插入这些命令以避免菜单栏和无用的东西:

set guioptions-=m  "remove menu bar
set guioptions-=T  "remove toolbar
set guioptions-=r  "remove right-hand scroll bar
set guioptions-=L  "remove left-hand scroll bar


评论


是否有gvimwin64fullscreen?还是可以使用github上的项目进行编译?

–van abel
17年5月12日下午2:30

是的,我在这里找到它:github.com/derekmcloughlin/gvimfullscreen_win32/blob/…

–van abel
17年5月12日在2:38

#3 楼

来自:help 'lines'


Vim窗口的行数。
[...]
当Vim在GUI或可调整大小的窗口中运行时,设置此
选项将导致更改窗口的大小。
[..]
您可以使用此命令来获取最高的窗口::set lines=999


columns选项的功能相同,除了宽度(以字符为单位)。

因此,例如,可以将其放在vimrc文件中:

set lines=55
set columns=120


这与被最大化(即使您如上所述使用999值)不同,因为“被最大化”是放置在窗口上的特殊标志,并巧妙地更改了某些操作(例如移动),但默认情况下它应该可以解决80x25小窗口尺寸的问题。

评论


这还不错,尽管它在我的系统上提供了234x56的窗口,而最大化则提供了236x57的窗口。尽管如此,以这样的大小缩短两列和一行不是什么大问题,特别是对于某些在非Windows平台上也可以使用的东西,尽管我尚未进行实际测试。今晚回家时,我会看看我心爱的Debian盒子:-)

–user579
15年2月20日在7:10

对于我的Debian,默认窗口为200x50,在vim本身,rc文件或gvim -c'set them'中将行和列的宽度均设置为999,使我为236x61,而最大化为237x61,因此比在Windows下更近。有趣的是,gvim -geometry 999x999在更大的尺寸下为我提供了最大化的窗口,因此对于非Windows而言可能会更好,尽管我怀疑确保所有调用方法都使用它会更加困难。可惜的是,对于非Win平台,没有simalt类型的东西。

–user579
2015年2月22日在2:20



尽管如此,还是值得的代表,因为它足够接近,并且比仅赢方法更可移植。顺便说一句,使用9999x9999作为几何图形会使vim异常,因为它不喜欢尺寸超过64K像素的窗口(在这种情况下,几何图形是字符单元而不是像素)。 999x999似乎可以正常工作。不确定在多显示器系统中如何处理。

–user579
2015年2月22日在2:22



是的,这种方法并不完美,但是就像您提到的那样,它是跨平台的,并且它可能也更快(启动时运行命令行工具可能会在Windows Vim上造成一定程度的延迟,至少是这样)当我几年前使用它时)。

–马丁·图尔诺伊(Martin Tournoij)
2015年2月23日在21:18

将列/行设置为160 x 42可获得接近黄金分割率的窗口形状,您将获得42的超赞效果!

–roblogic
2015年3月30日4:50



#4 楼

除了其他答案中特定于gVim的命令之外,还有几个标准的Windows功能可以最大化地启动任何应用程序。

如果您通过快捷方式(例如“开始”菜单或在桌面上,您可以更改快捷方式属性以最大程度地启动Vim。右键单击快捷方式,选择“属性”,然后从“运行”下拉列表中选择“最大化”。但是,这只会影响该快捷方式,因此,如果从另一个快捷方式,“运行”对话框或命令行启动了gVim,则gVim仍会在一个小窗口中打开。

如果从命令中启动gVim行或批处理文件,则可以使用CMD的start命令:start "" /max "C:\Program Files (x86)\Vim\vim73\gvim.exe"。 (如果引用了gvim.exe的路径,则必须为""。如果使用不带空格的无引号的路径,则可以忽略它:start /max C:\Progra~2\Vim\vim73\gvim.exe。)

评论


我不知道默认的启动命令是什么,但是我改写了PATH,现在m​​ingsys的启动就在那里了,所以请注意,您正在运行正确的启动命令

–TankorSmash
17年1月2日,凌晨2:18

我尝试了此操作(“从快捷方式...选择最大化”)。窗口闪烁,然后显示的大小与从DOS cmd shell启动时的大小相同。公平地讲,我在.vimrc中有明确设置大小(行/列)的命令,因此我怀疑后者覆盖了最大化的尝试。

–rich p
18 Mar 29 '18 at 13:27

某些Linux窗口管理器还具有这种功能。例如,我喜欢Vim窗口全高,但是我的两个监视器的高度是1024px,而中间的监视器的高度是1080px。使用KDE的“窗口规则”控制面板将Vim设置为垂直最大化,以确保gVim的大小可以随着在监视器之间移动而匹配。 (它还有覆盖行设置的额外好处,因此我可以将其保留在我的gvimrc中,作为未进行此类调整的系统的后备。)

– ssokolow
19年11月16日在1:02