vim vertical split




Para cambiar de división vertical a división horizontal rápida en Vim (6)

¿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 volver a encontrar la llave.


División horizontal a vertical

Ctrl + W , seguido de Mayús + H o Mayús + L

División vertical a horizontal

Ctrl + W , seguido de Shift + K o Shift + J

Ambas soluciones se aplican cuando solo existen dos ventanas.


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

(cambiar a horizontal)

:windo wincmd K

(cambiar a vertical)

:windo wincmd H

Se dirige efectivamente a cada ventana individualmente y usa ^ W K o ^ W H.


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 de abajo.

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>

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

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

Si hay buffers ocultos, emitir estos comandos también hará que los buffers ocultos estén visibles.


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

Para cambiar dos ventanas divididas verticalmente para dividir horizontalmente

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 lo ancho en la parte superior superior Ctrl - w H mueve la ventana actual a la altura máxima a la izquierda

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

Además, con solo dos ventanas, parece que puedes soltar la parte Ctrl - w t porque si ya estás en una de solo dos ventanas, ¿cuál es el punto de hacerla actual?


^w seguido de las mayúsculas H , J , K o L moverá la ventana actual al extremo left , bottom , top o right respectivamente, como la navegación del cursor normal.

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





split