268 votes

Vim : Déplacer la fenêtre à gauche/droite ?

Dans Vim, est-il possible de "déplacer" une fenêtre vers la gauche ou la droite ? Par exemple, comme dans <c-w> r o <c-w> x mais gauche/droite au lieu de haut/bas ?

Par exemple, si j'ai cette mise en page :

+---+---+---+
|   |   +---+
| A +---+---+
|   |   |   |
+---+---+---+

J'aimerais le transformer en ceci :

+---+---+---+
|   |   +---+
+---+ A +---+
|   |   |   |
+---+---+---+

Ce qui est difficile/ennuyeux à faire avec <c-w> {H,J,K,L} .

526voto

Ricardo Valeriano Points 1900

Ctrl w vous donne le "mode de commande Windows", permettant les modificateurs suivants :

  • Ctrl w + R - Pour faire pivoter les fenêtres vers le haut/la gauche.

  • Ctrl w + r - Pour faire pivoter les fenêtres vers le bas/la droite.

Vous pouvez également utiliser le "mode de commande Windows" avec les touches de navigation pour modifier la position d'une fenêtre :

  • Ctrl w + L - Déplacer la fenêtre actuelle vers "l'extrême droite".

  • Ctrl w + H - Déplacer la fenêtre actuelle vers "l'extrême gauche".

  • Ctrl w + J - Déplacer la fenêtre actuelle vers le "tout dernier".

  • Ctrl w + K - Déplacer la fenêtre actuelle vers le "tout en haut".

Vérifiez :help window-moving pour plus d'informations

4 votes

<c-w> r ne tourne que verticalement.

12 votes

@David Wolever, vous devez utiliser les lettres majuscules dans ce cas, quelque chose comme : Ctrl-W + Shift-L, par exemple. Je pense que cela peut correspondre à ce que vous recherchez.

0 votes

@David - je viens de tester ceci et <c-w> r a fonctionné horizontalement pour moi.

74voto

fabiomcosta Points 51

Celle-ci est la plus utile pour moi (et est probablement la bonne réponse à la question) :

  • Ctrl W + x OU Ctrl W + Ctrl x - Fait pivoter la fenêtre focalisée actuelle avec la fenêtre la plus proche vers la droite.

0 votes

Très utile lorsque vous êtes au milieu des volets et que vous voulez échanger avec celui de droite. Merci pour celui-ci !

0 votes

Fonctionne uniquement avec les fractionnements verticaux

11voto

Bitterzoet Points 1758

Voulez-vous déplacer la fenêtre elle-même ou seulement la position de votre curseur ?

En plus de la rotation ou du cyclage comme vous l'avez déjà mentionné, il n'est possible que de déplacer la fenêtre elle-même vers l'endroit où elle se trouve. loin en haut, en bas, à gauche ou à droite, avec respectivement :

^W K
^W J
^W H
^W L

Je ne pense pas qu'il existe un moyen intégré par défaut pour déplacer une fenêtre d'une place vers la droite.

1 votes

Je veux déplacer les fenêtres, pas le curseur.

1 votes

Ensuite, vous ne pouvez pas aller plus loin avec les commandes de la fenêtre vim, si cela vous a été utile, merci de marquer la solution :-)

3 votes

Je voterais le commentaire de @Bitterzoet si je le pouvais. Voir les réponses ci-dessus

2voto

W Klink Points 11

Il semble vraiment que vim ne puisse pas faire cela avec les cartes de touches standard. La documentation indique que les commandes ^W K, J, H et L fonctionnent en créant le fractionnement et en ouvrant le tampon dans la position actuelle, j'ai donc écrit une fonction identique : masquer le tampon, se déplacer vers la gauche, fractionner, puis ouvrir le tampon original :

" Rotate a window horizontally to the left
function! RotateLeft()
    let l:curbuf = bufnr('%')
    hide
    wincmd h
    split
    exe 'buf' l:curbuf
endfunc

" Rotate a window horizontally to the right
function! RotateRight()
    let l:curbuf = bufnr('%')
    hide
    wincmd l
    split
    exe 'buf' l:curbuf
endfunc

-8voto

xautjzd Points 120
  • ctrl + h déplacer le curseur vers la fenêtre suivante (droite)

  • ctrl + l déplacer le curseur vers la fenêtre précédente (gauche)

pour plus d'informations, veuillez vous référer : :help window-moving

8 votes

C'est faux. Ctrl+h/l ne sont pas des liaisons standard pour la navigation dans les fenêtres (bien qu'elles puissent bien sûr être configurées et qu'elles soient proposées par certains plugins). Et de toute façon, cela ne répond pas à la question initiale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X