Pour passer rapidement de la division verticale à la division horizontale en Vim

Comment Pouvez-vous commuter vos fenêtres actuelles de fente horizontale à fente verticale et vice versa dans Vim?

j'ai fait ça il y a un instant par accident mais je ne trouve plus la clé.

532
demandé sur Léo Léopold Hertz 준영 2009-08-13 05:38:57
la source

8 ответов

Vim liste de diffusion , dit-il (re-formaté pour une meilleure lisibilité):

pour changer deux division verticale fenêtres à fente horizontale

Ctrl - w t Ctrl - w K

horizontalement à verticalement:

Ctrl - w t Ctrl - w H

explications:

Ctrl - w t rend la première fenêtre (gauche) actuelle Ctrl - w K déplace la fenêtre actuelle à pleine largeur à la très haut Ctrl - w "1519110920 H déplace la fenêtre actuelle à pleine hauteur à l'extrême gauche

on Remarque que le t est en minuscule, et le K et H sont en majuscules.

aussi, avec seulement deux fenêtres, il semble que vous pouvez laisser tomber le Ctrl - w t partie parce que si vous êtes déjà dans l'une des deux fenêtres, à quoi bon la mettre à jour?

788
répondu Mark Rushakoff 2015-03-19 11:45:01
la source

^w suivi de capital H , J , K ou L déplacera la fenêtre courante à l'extrême left , bottom , top ou right respectivement comme la navigation normale de curseur.

les équivalents minuscules déplacent la mise au point au lieu de déplacer la fenêtre.

257
répondu respectTheCode 2013-02-20 00:26:36
la source

lorsque vous avez deux ou plus fenêtres ouvertes horizontalement ou verticalement et que vous voulez les commuter toutes à l'autre orientation, vous pouvez utiliser ce qui suit:

(passer à l'horizontale)

:windo wincmd K

(passage à la verticale)

:windo wincmd H

il va effectivement à chaque fenêtre individuellement et en utilisant ^W K ou ^W H .

34
répondu Steve 2014-10-22 23:31:56
la source

les commandes ex suivantes diviseront (re -) n'importe quel nombre de fenêtres:

  • pour se diviser verticalement (p.ex. faire des diviseurs verticaux entre fenêtres), type :vertical ball
  • à diviser horizontalement, type :ball

S'il y a des tampons cachés, l'émission de ces commandes rendra également les tampons cachés visibles.

28
répondu Mark 2014-04-30 01:45:50
la source

dans VIM, jetez un oeil à ce qui suit pour voir différentes alternatives pour ce que vous auriez pu faire:

: aide à l'ouverture-fenêtre

par exemple:

Ctrl - W s

Ctrl - W o

Ctrl - W v

Ctrl - W o

Ctrl - W s

...

27
répondu Anon 2013-07-21 13:55:11
la source

suivant la pointe de Mark Rushakoff au-dessus de , voici ma carte:

" 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

Edit: utiliser Ctrl - w r pour permuter les deux fenêtres si elles ne sont pas dans le bon ordre.

4
répondu Jabba 2017-05-23 15:10:30
la source

inspiré par Steve answer, j'ai écrit la fonction simple qui bascule entre les divisions verticales et horizontales pour toutes les fenêtres dans l'onglet courant. Vous pouvez le lier à la cartographie comme dans la dernière ligne ci-dessous.

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
répondu Adam Faryna 2017-09-01 09:38:02
la source

fente horizontale à verticale

Ctrl + W , suivi par Shift + H ou Shift + L


fente verticale à horizontale

Ctrl + W , suivi de Shift + K ou Shift + J

les deux solutions s'appliquent lorsqu'il n'existe que deux fenêtres.

0
répondu Serge Stroobandt 2018-09-24 22:56:32
la source

Autres questions sur