Disons que la structure actuelle de ma fenêtre est la suivante:
+ ----- + ---------------------------- | | | A | | | + ----- + | | | B |
L'ordre de A et B n'est pas tout à fait naturel. Ce serait mieux si B était au sommet.
Cependant, si j'y vais <C-w>K
, B sera tout en haut de toutes les fenêtres, ce qui n'est pas ce que je veux. Comment puis-je mettre B au-dessus de A, mais pas au-dessus d'une autre fenêtre qui est déjà au-dessus de A?
Et si deux fenêtres sont divisées verticalement, comment puis-je les changer en fractionnement horizontal?
split
vim-windows
Jason Hu
la source
la source
Réponses:
Pour échanger les deux parties d'une fenêtre fractionnée, procédez simplement comme suit:
<C-w> <C-r>
la source
:h CTRL-W_CTRL-R
:The second window becomes the first one, the third one becomes the second one, etc.
Ainsi, si vous avez 3 divisions, le curseur sur la partie inférieure et appuyez sur<c-w><c-r>
la 3e fenêtre sera au-dessus des 2 autres, ce qui n'est pas ce que OP demandait:How can I put B above A, but not above any other window that is already above A?
Afin d'échanger des
window
positions, l'effet est équivalent à l'échange de tampons que ces deux fenêtres affichent.Par exemple, si la fenêtre A a le tampon 2 et la fenêtre B a le tampon 8, vous voudrez aller à la fenêtre A, sélectionnez le tampon 8, puis à la fenêtre B, sélectionnez le tampon 2.
Cette idée m'a inspiré pour l'écrire - et elle est déjà dans ma propre boîte à outils
Code de fonction:
:call WinBufSwap()
Cela échange les tampons dans les deux fenêtres présélectionnées, laissant le curseur dans la fenêtre d'origine.
La sélection des deux fenêtres à échanger à l'avance est le détail clé, car cela est nécessaire pour spécifier pour Vim celles avec lesquelles travailler.
la source
(
index.txt
section 2.2, "Commandes de fenêtre")Si A est la fenêtre courante, alors la suivante sera B, vous n'avez donc besoin que
<C-w> x
Si B est la fenêtre actuelle (et il y a plus de fenêtres ci-dessous), vous devrez d'abord aller à A, puis échanger:
<C-w> k <C-w> x
la source
Une autre alternative à l'échange de fenêtres ou à l'échange de tampons consiste à marquer des positions (en utilisant des marques majuscules ) dans vos fichiers et à ouvrir ces marques dans les fenêtres de votre choix.
Par exemple, si j'ai deux fichiers, file_A et file_B :
mA
mB
'A
'B
.L'avantage de cette méthode est que, pour une raison quelconque, vous divisez votre volet plus d'une fois et qu'il n'y a pas de logique claire pour les permuter, comme si vous souhaitez permuter les volets à 12 heures et à 7 heures, vous pouvez ' il suffit de faire pivoter les fenêtres, mais vous pouvez facilement échanger les tampons.
la source
Vous pouvez échanger les tampons entre deux fenêtres avec la fonction suivante:
Maintenant, le plus souvent, l'échange de tampons agira techniquement comme l'échange de fenêtres. Parce que vous ne conservez pas manuellement les fenêtres, vous gardez une trace de quelle fenêtre contient quel tampon. Ainsi, la fonction ci-dessus vous aidera dans la plupart des situations.
la source