How can I temporarily make the window I'm working on to be fullscreen in vim?

by Ted Rod   Last Updated July 12, 2019 14:26 PM - source

I use vim, and usually have more than one vertical/horizental window open, usually editing c++ header files alongside cpp files. How can I temporarily make the window I'm working on to be fullscreen, edit what I want, and then exit fullscreen?

By fullscreen I mean to fit vim window only, and not my total display screen.

Tags : vim


Answers 6


Ctrl+W_ will maximize a window vertically.

Ctrl+W| will maximize a window horizontally.

So far as I'm aware, there is no way to restore the previous layout after these actions, but Ctrl+W= will resize all windows to equal sizes.

duskwuff
duskwuff
March 23, 2013 04:38 AM

If I understand what you're asking, I think you'll find the ZoomWin plugin helpful (GitHub). If you've got a bunch of split windows, and you want to temporarily make the current window the only visible one, you can hit <C-w>o. When you want to revert to the previous split state, hit <C-w>o again.

[Edit] Note on key mappings:

The default key mapping for this plugin is <C-w>o, but that conflicts with a default Vim key mapping. By default, that does :only, which makes the current window the only window. If you'd like to retain that functionality, you can remap ZoomWin to another key. I remap it to <C-w>w, because I like to use the :only option as well. Here's my mapping:

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

Note that this also overrides a default Vim mapping, related to moving to other visible windows (:help CTRL-W_w), but I never used that one anyway.

Jim Stewart
Jim Stewart
March 23, 2013 05:13 AM

An option could be to pursue the editing in a new tab. The following command opens the active buffer into a new tab allowing you to see the buffer in the hole vim window.

:tab split

And close the tab when you're done:

:tabc

Edit:

You can always use the following command to use tt as a shortcut (or better add it to your .vimrc):

:noremap tt :tab split<CR>

and close is when you're done :

:wq
Mick
Mick
March 23, 2013 08:40 AM

ctrl-w_ - maximize current window

hope this helps you out. :)

And these are the some of the useful commands with can be implemented using VIM editor

:e filename - edit another file

:split filename - split window and load another file

ctrl-w up arrow - move cursor up a window

ctrl-w ctrl-w - move cursor to another window (cycle)

ctrl-w= - make all equal size

10 ctrl-w+ - increase window size by 10 lines

:vsplit file - vertical split

:sview file - same as split, but readonly

:hide - close current window

:only - keep only this window open

:ls - show current buffers

:b 2 - open buffer #2 in this window

Manoj
Manoj
August 04, 2016 08:15 AM

An awesome plugin for toggling windows fullscreen is vim-maximizer.

After it's installed you can simply use <F3> (default shortcut) to toggle fullscreen on the window.

You can also customize the shortcut keys, for example if you wanted to use <C-w> z (similar to tmux shortcut):

nnoremap <silent><C-w>z :MaximizerToggle<CR>
vnoremap <silent><C-w>z :MaximizerToggle<CR>gv
inoremap <silent><C-w>z <C-o>:MaximizerToggle<CR>
Miguel Mota
Miguel Mota
February 05, 2018 23:36 PM

I've tried ZoomWin and a few others. The problem is, they all destroy and try to re-create the windows. This is especially problematic with custom plugins like NERDTree, Tagbar and a few others. Icons and fonts are not drawn properly, sizes are messed up etc..

zoomwintab.vim is a simple zoom window plugin that uses vim's tabs feature to zoom into a window inspired by ZoomWin plugin but is non-destructive.

https://github.com/troydm/zoomwintab.vim

I use Tmux, so I mapped it to leader z to stay in sync with tmux's <prefix> z

nnoremap <leader>z :ZoomWinTabToggle<CR>

arithran
arithran
July 12, 2019 14:25 PM

Related Questions