Pregunta Para pasar de la división vertical a la división horizontal rápida en Vim


¿Cómo puede cambiar sus ventanas actuales de división horizontal a división vertical y viceversa en Vim?

Lo hice hace un momento por accidente, pero no puedo encontrar la llave otra vez.


517
2017-08-13 01:38


origen


Respuestas:


Lista de correo de Vim dice (reformateado para una mejor legibilidad):

Cambiar dos dividido verticalmente   ventanas para dividir horizonalmente

Ctrl-w  t  Ctrl-w  K

Horizontalmente a verticalmente:

Ctrl-w  t  Ctrl-w  H

Explicaciones

Ctrl-w  t     hace que la primera ventana (topleft) sea actual    Ctrl-w  K     mueve la ventana actual a todo el ancho en la parte superior    Ctrl-w  H     mueve la ventana actual a toda la altura en el extremo izquierdo

Tenga en cuenta que t es minúscula y K y H son mayúsculas.

Además, con solo dos ventanas, parece que puede soltar el Ctrl-w  t parte porque si ya está en una de las dos únicas ventanas, ¿para qué sirve actualizarla?


770
2017-08-13 01:48



^w seguido de capital H,J,K o L moverá la ventana actual a la distancia left,bottom,top o right respectivamente como la navegación normal del cursor.

Los equivalentes en minúsculas mueven el foco en lugar de mover la ventana.


250
2017-11-02 14:41



Cuando tienes dos o más ventanas abiertas horizontal o verticalmente y desea cambiarlas todas a la otra orientación, puede usar lo siguiente:

(cambiar a horizontal)

:windo wincmd K

(cambiar a vertical)

:windo wincmd H

Efectivamente va a cada ventana individualmente y usando ^ WK o ^ WH.


34
2017-10-22 19:31



Los siguientes comandos ex (re) dividirán cualquier cantidad de ventanas:

  • Para dividir verticalmente (por ejemplo, hacer divisores verticales entre ventanas), escriba :vertical ball
  • Para dividir horizontalmente, escriba :ball

Si hay búferes ocultos, emitir estos comandos también hará que los búferes ocultos sean visibles.


28
2018-04-29 21:45



En VIM, eche un vistazo a lo siguiente para ver diferentes alternativas para lo que podría haber hecho:

: ayuda para abrir ventana

Por ejemplo:

Ctrl-W  s
Ctrl-W  o
Ctrl-W  v
Ctrl-W  o
Ctrl-W  s
...


26
2017-08-13 02:02



Siguiendo la sugerencia de Mark Rushakoff encima, aquí está mi mapeo:

" vertical to horizontal ( | -> -- )
noremap <c-w>-  <c-w>t<c-w>K
" horizontal to vertical ( -- -> | )
noremap <c-w>\|  <c-w>t<c-w>H
noremap <c-w>\  <c-w>t<c-w>H
noremap <c-w>/  <c-w>t<c-w>H

Editar: utilizar Ctrl-w  r para cambiar dos ventanas si no están en el buen orden.


4
2018-05-15 21:12



Inspirado por la respuesta de Steve, escribí una función simple que alterna entre divisiones verticales y horizontales para todas las ventanas en la pestaña actual. Puede vincularlo a la asignación como en la última línea a continuación.

function! ToggleWindowHorizontalVerticalSplit()
  if !exists('t:splitType')
    let t:splitType = 'vertical'
  endif

  if t:splitType == 'vertical' " is vertical switch to horizontal
    windo wincmd K
    let t:splitType = 'horizontal'

  else " is horizontal switch to vertical
    windo wincmd H
    let t:splitType = 'vertical'
  endif
endfunction

nnoremap <silent> <leader>wt :call ToggleWindowHorizontalVerticalSplit()<cr>

2
2017-09-01 06:38