Cancelar ventana dividida en Vim
He dividido mis ventanas horizontalmente. Ahora, ¿cómo puedo volver al modo normal, es decir, ninguna ventana dividida solo una ventana sin cancelar todas mis ventanas abiertas. Tengo 5 y no quiero "salir", solo quiero salir de la ventana dividida.
9 answers
Pulse Control+w , luego pulsa q para cerrar cada ventana a la vez.
Actualizar : También considere la respuesta de eckes que puede ser más útil para usted, involucrando :on
(lea más abajo) si no desea hacerlo una ventana a la vez.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-16 15:17:24
Para cerrar todas las divisiones, suelo colocar el cursor en la ventana que será en-ly visible y luego hago :on
lo que hace que la ventana actual sea en-ly visible. Bonito mnemotécnico para recordar.
Editar: :help :on
me mostró que estos comandos son los mismos:
Cada una de estas cuatro cierra todas las ventanas excepto la activa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:19
Para cerrar todas las ventanas excepto la actual use:
CTRL+w, o
Es decir, el primer CTRL+w y luego o.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-26 21:03:42
Dos alternativas para cerrar la ventana actual son ZZ
y ZQ
, que, respectivamente, guardarán y no guardarán los cambios en el búfer mostrado.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-09 15:45:22
El comando :hide ocultará la ventana actualmente enfocada. Creo que esta es la funcionalidad que estás buscando.
Para navegar entre ventanas, escriba Ctrl + w seguido de una tecla de navegación (h,j,k,l o teclas de flecha)
Para más información ejecute :help window
y :help hide
en vim.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-26 20:50:24
Al igual que los demás dijeron antes, la forma de hacer esto es presionar ctrl+w y luego o. Esto "maximizará"la ventana actual, mientras que cerrará las otras. Si desea ser capaz de "unmaximize", hay un plugin llamado ZoomWin para eso. De lo contrario, tendría que recrear la configuración de la ventana desde cero.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-28 09:10:44
Entiendo bien su intención, también uso búferes exclusivamente, y ocasionalmente divido si es necesario.
A continuación se muestra un extracto de mi .vimrc
" disable macro, since not used in 90+% use cases
map q <Nop>
" q, close/hide current window, or quit vim if no other window
nnoremap q :if winnr('$') > 1 \|hide\|else\|silent! exec 'q'\|endif<CR>
" qo, close all other window -- 'o' stands for 'only'
nnoremap qo :only<CR>
set hidden
set timeout
set timeoutlen=200 " let vim wait less for your typing!
Que se ajusta bastante bien a mi flujo de trabajo
Si se pulsa
q
- ocultar la ventana actual si hay varias ventanas abiertas, de lo contrario intente salir de vim.
Si se pulsa
qo
,
- cierre todas las demás ventanas, sin efecto si solo una ventana.
Por supuesto, puedes envolver esa parte desordenada en una función , por ejemplo
func! Hide_cur_window_or_quit_vim()
if winnr('$') > 1
hide
else
silent! exec 'q'
endif
endfunc
nnoremap q :call Hide_cur_window_or_quit_vim()<CR>
Sidenote:
Remapeo q
, ya que no uso macro para editar, en su lugar uso :s
, :g
, :v
, y comando de procesamiento de texto externo si es necesario, por ejemplo, :'{,'}!awk 'some_programm'
, o use :norm! normal-command-here
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-03 05:38:52
Bien, acabo de desconectar y volver a conectar a la sesión de pantalla y estoy de vuelta a la pantalla normal que quería
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-26 20:46:44
Encontré que ctrl-w a la ventana que desea cerrar, entonces simplemente haga :q Esto funciona para mí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-09 22:08:08