2013-03-23 42 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> 
相關問題