He dividido mis ventanas horizontalmente. Ahora, ¿cómo puedo volver al modo normal, es decir, sin ventana dividida, solo una ventana sin cancelar todas mis ventanas abiertas? Tengo 5 y no quiero "salir", solo quiero salir de la ventana dividida.
He dividido mis ventanas horizontalmente. Ahora, ¿cómo puedo volver al modo normal, es decir, sin ventana dividida, solo una ventana sin cancelar todas mis ventanas abiertas? Tengo 5 y no quiero "salir", solo quiero salir de la ventana dividida.
Respuestas:
Presione Control+ w, luego presione qpara cerrar cada ventana a la vez.
Actualización : También considere la respuesta de eckes, que puede ser más útil para usted, que involucra :on
(lea a continuación) si no desea hacerlo una ventana a la vez.
hidden
embargo, la configuración parece ayudar. Sin embargo, lo que quise decir fue, ¿cómo agregas un! a un atajo? ¿Es "Cw! Q", "Cw q!", "! Cw q", "C-! W q"? Creo que ninguno de ellos, pero ya olvidé cómo crear nuevos buffers, así que este es un ejercicio para el lector.
Para cerrar todas las divisiones, por lo general coloca el cursor en la ventana que será el de uno-mente visible y luego hacer :on
lo que hace que la ventana actual del de la ventana-mente visible. Bonito mnemónico para recordar.
Editar: :help :on
me mostró que estos comandos son los mismos:
Cada uno de estos cuatro cierra todas las ventanas excepto la activa.
:on
responderá con E445: Other window contains changes
y no cerrará la otra ventana. Por ejemplo, generalmente creo una nueva ventana y leo un archivo desde el que me gustaría tirar. En este caso, Vim considera que la otra ventana tiene cambios no escritos. En tal caso, use :on!
para forzar un cierre.
para cerrar todas las ventanas pero la actual usa:
CTRL+ w,o
Es decir, primero CTRL+ wy luego o.
CTRL+W o
tipeado accidentalmente.
Dos alternativas para cerrar la ventana actual son ZZ
y ZQ
, que guardarán y no guardarán, respectivamente, los cambios en el búfer mostrado.
Z
porque soy alemán. (Spoiler: distribución del teclado si cambia frecuentemente entre la configuración DE / EN)
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 ejecutar :help window
y :help hide
en vim.
De :help opening-window
(busque "Cerrar una ventana" - /Closing a window
)
:q[uit]
cierre la ventana actual y el búfer. Si es la última ventana, también saldrá de vim:bd[elete]
descargar el búfer actual y cerrar la ventana actual:qa[all]
o :quita[ll]
cerrará todos los búferes y ventanas y saldrá de vim ( :qa!
para forzar sin guardar los cambios):clo[se]
cierre la ventana actual pero mantenga abierto el búfer. Si solo hay una ventana, este comando falla:hid[e]
ocultar el búfer en la ventana actual (Lea más en :help hidden
):on[ly]
cierre todas las demás ventanas pero deje todas las memorias intermedias abiertasEncontré que ctrl+ wa la ventana que quieres cerrar, luego solo hazlo :q. Esto funciona para mi.
^W^W:q
como una posible solución, así que deshazte de una división. Tenga en cuenta que ^W to the window you want to close
aparentemente implica múltiples usos ^W^W
para cambiar a la ventana que desea cerrar ..
Entiendo bien tu intención, yo también uso tampones exclusivamente, y ocasionalmente me separo si es necesario.
a continuación es 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 adapta bastante bien a mi flujo de trabajo
Si
q
fue presionado
- ocultar la ventana actual si hay varias ventanas abiertas, de lo contrario, intente salir de vim.
si
qo
fue presionado,
- cierre todas las demás ventanas, sin efecto si solo hay una ventana.
Por supuesto, puede 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>
Nota al margen : Yo de reasignación q
, ya que no utiliza macro para la edición, en lugar de utilizar :s
, :g
, :v
, y el comando externo de procesamiento de texto si es necesario, por ejemplo, :'{,'}!awk 'some_programm'
o el uso :norm! normal-command-here
.
Al igual que los otros dijeron antes, la forma de hacer esto es presionar ctrl+ wy luego o. Esto "maximizará" la ventana actual, mientras cierra las demás. Si desea poder "desmaximizarlo", hay un complemento llamado ZoomWin para eso. De lo contrario, tendría que recrear la configuración de la ventana desde cero.
Bien, simplemente me desconecté y volví a conectar a la sesión de pantalla y volví a la pantalla normal que quería
vim
el modo de ventana dividida, solo deja screen
el modo de panel dividido, que puede confundirse fácilmente, por lo que quizás otros también lo hagan. Por cierto, encuentro esta característica de la pantalla molesta, por lo tanto, ahora tengo el valor predeterminado tmux
que permite una nueva conexión con todas las divisiones intactas.