2013-03-23 197 views
37

我使用vim,通常有多个垂直/ horizental窗口打开,通常在cpp文件旁边编辑C++头文件。我如何暂时将我正在工作的窗口设为全屏,编辑我想要的内容,然后退出全屏?如何暂时让我正在使用的窗口在vim中全屏显示?

通过全屏我的意思是只适合vim窗口,而不是我的总显示屏幕。

回答

16

如果我明白你在问什么,我想你会发现ZoomWin插件有帮助(GitHub)。如果您有一堆拆分窗口,并且您想暂时将当前窗口设置为唯一可见窗口,则可以点击<C-w>o。当您想要恢复到之前的拆分状态时,请再次点击<C-w>o

[编辑]上键映射注:此插件

默认键映射为<C-w>o,但有一个默认Vim的键映射冲突。默认情况下,:only,它使当前窗口成为唯一的窗口。如果您想保留该功能,可以将ZoomWin重新映射到另一个键。我将它重新映射到<C-w>w,因为我也喜欢使用:only选项。这里是我的映射:

nnoremap <silent> <C-w>w :ZoomWin<CR> 

注意,这也将覆盖默认Vim的映射,涉及到移动到其他可见窗口(:help CTRL-W_w),但我从来没有使用的一个反正。

+7

我现在在使用它,当我按 o它工作正常,但是当我再次按 o还原时,显示一条消息,只有一个窗口打开,它什么也没有更多 – 2013-03-23 05:48:41

+0

对不起,我没有得到这个问题。可能与您拥有的另一个插件或键映射有冲突。单独尝试一下。您的Vim兼容模式设置(':help cpoptions')也可能存在问题。不过,它可以与许多其他插件一起使用。 – 2013-03-23 05:57:21

+1

我刚刚意识到我实际上反弹了这个键,没有这个插件的' o'就会在你的评论中描述你的评论(我经常使用默认的' o'',但我没有想到)。根据你的评论,我怀疑你刚才在评论时没有安装插件。既然你接受了我假设你已经完成了。看到我编辑的答案上面的一些更多的信息。 – 2013-03-23 06:38:57

63

Ctrl + W_将使垂直窗口最大化。

Ctrl + W|将水平最大化一个窗口。

到目前为止我所知,有没有办法恢复这些动作后,以前的布局,但按Ctrl + W=将调整所有窗口大小相等。

+7

感谢。这很好,因为它不需要插件。 – 2014-02-09 00:17:26

+0

这太棒了!谢谢! – Tombert 2015-06-12 20:40:30

36

一个选项可能是在新选项卡中进行编辑。以下命令将活动缓冲区打开到新选项卡中,以便您可以在hole vim窗口中查看缓冲区。

:tab split 

而关闭时,即可大功告成标签:

:tabc 

编辑:

你总是可以使用下面的命令来使用tt作为快捷方式(或更好的将其添加到你的.vimrc):

:noremap tt :tab split<CR> 

,收盘时,即可大功告成:

:wq 
+0

它是一个很好的把戏:) – 2013-03-23 08:55:20

+1

这真的很棒,因为你不需要插件。刚刚测试过,它效果很好!添加到我的.vimrc :) – jsdevel 2014-05-06 07:49:59

+0

哇,有没有什么办法可以使这个切换?这将是如此光滑! – 2015-01-27 05:50:42

4

CTRL-W_ - 最大化当前窗口

希望这可以帮助你。:)

而这些都是一些有用的命令与可以用VIM编辑

来实现:电子文件名 - 编辑另一个文件

:分割文件名 - 分割窗口并加载另一个文件

ctrl-w向上箭头 - 向上移动光标的窗口

CTRL-W CTRL-W - 移动光标到另一个窗口(周期)

CTRL-W = - 使所有大小相等

10 ctrl-w + - 将窗口大小增加10行

:VSPLIT文件 - 垂直分割

:sview文件 - 同分,但只读

:隐藏 - 关闭当前窗口

:只有 - 只保留此窗口打开

:LS - 显示当前缓冲器

:B 2 - 开放缓冲器#2在此窗口

0

全屏用于切换窗口一个真棒插件是vim-maximizer

安装后,您可以简单地使用<F3>(默认快捷方式)在窗口上切换全屏。

您也可以自定义快捷键,例如,如果你想使用<C-w> z(类似于TMUX快捷方式):

nnoremap <silent><C-w>z :MaximizerToggle<CR> 
vnoremap <silent><C-w>z :MaximizerToggle<CR>gv 
inoremap <silent><C-w>z <C-o>:MaximizerToggle<CR> 
相关问题