Is better way to zoom windows in Vim than ZoomWin?

A simple alternative (which may be enough depending on what you need):

" Zoom / Restore window.
function! s:ZoomToggle() abort
    if exists('t:zoomed') && t:zoomed
        execute t:zoom_winrestcmd
        let t:zoomed = 0
    else
        let t:zoom_winrestcmd = winrestcmd()
        resize
        vertical resize
        let t:zoomed = 1
    endif
endfunction
command! ZoomToggle call s:ZoomToggle()
nnoremap <silent> <C-A> :ZoomToggle<CR>

I try to use vim without any plugins as I don't want to rely on them when I work on another system. Coming upon this same issue now, I can propose some 'better ways' (alternative ways) as requested by the OP:

  • c-w-| to have window take over (if using vsplits). c-w-= to restore. c-w-_ for horizontal splits
  • close the other window(s), thereby making current one fullscreen. Split and re-open from buffer to restore
  • use tmux if available and run multiple instances of vim, c-b-z to switch between fullscreen for the current pane

I have listed these in order of my perceived practicality. Experience will of course be better with a dedicated plugin, but that is not always an option.