Articles

Écran partagé Vim

Les commandes de Vim circulent uniquement autour du clavier et du clavier. Ceci est particulièrement utile lorsque vous traitez avec du code et des tâches qui nécessitent une concentration complète. La nature « clavier uniquement » permet une plus grande marge de mise au point pour votre code. Eh bien, vous êtes libre d’interagir avec la souris.

Disons que vous travaillez avec un fichier qui nécessite de garder un œil sur plusieurs parties du fichier. Pour la programmation, c’est un scénario courant. Il existe également d’autres scénarios où une vue fractionnée peut être utile. Oui, voyons comment diviser la vue et la modification sur Vim.

Créons un fichier de démonstration. J’ai attrapé le code de type à bulles de Geeksforgeeks.

Maintenant, il est temps de diviser le fichier en deux sections. Appuyez sur « Ctrl + w », puis appuyez sur « v ». Regardez de près les cas; ils sont tous en minuscules.

Voilà! Assez simple, non? Faisons une autre scission!

Cette fonction est également disponible à partir de la commande.

: vsplit

Il existe également une forme abrégée de cette commande.

:vsp

Génial, non?

Commençons par le début. Cette fois, nous allons faire des divisions horizontales. Exécutez la commande suivante.

:split

Pour faire court, vous pouvez utiliser le suivant.

:sp

Cette fonction est également disponible via la combinaison de touches du clavier. Pour la division horizontale, appuyez sur « Ctrl + w » puis « s ». Encore une fois, tous sont en minuscules.

Déplacer une fenêtre à une fenêtre

La vue fractionnée est extrêmement utile pour de nombreux scénarios, bien sûr. Cependant, sans la possibilité de sauter d’une fenêtre à l’autre, cette vue fractionnée est complètement inutile. Voyons comment nous pouvons passer d’une scission à l’autre.

Ici, j’ai défini 4 vues fractionnées du même fichier.

Comme vous pouvez le voir, le curseur est actuellement sur la première fenêtre. Pour basculer vers la fenêtre de droite, appuyez sur « Ctrl + w », puis sur « l ».

To go to the left window, it’s « Ctrl + w”, then « h”.

If you did a horizontal split, then going up and down is necessary. For going up, press « Ctrl + w”, then « k”.

Pour descendre, appuyez sur « Ctrl + w”, puis sur « j”.

L’édition en vue fractionnée

Le fractionnement est assez simple, non? Maintenant, il est temps de les éditer. Chacune des divisions est en fait une fenêtre Vim à part entière, donc toutes les touches d’édition fonctionneront.

Copier &coller

Comme auparavant, vous pouvez copier et coller d’une fenêtre à une autre en utilisant les raccourcis clavier copier et coller par défaut. Naviguez simplement dans une fenêtre différente et faites votre tâche.

Modification de la taille de la fenêtre divisée

Parfois, le fractionnement n’est pas bénéfique en raison de la taille. Par défaut, Vim divise toutes les fenêtres de largeur/ hauteur similaire. Il est possible de minimiser / maximiser les divisions. Vous pouvez également indiquer à Vim la taille de la division.

Pour élargir la fenêtre actuelle à la taille maximale, appuyez sur « Ctrl + W », puis sur |/ » (pas sur L minuscule). Utilisez-le lorsque vous utilisez une fenêtre fractionnée verticale.

Si vous souhaitez développer une fenêtre fractionnée horizontale, utilisez « Ctrl + W », puis « _ ».

Si vous souhaitez réinitialiser la taille de toutes les fenêtres fractionnées, utilisez « Ctrl + W”, puis « =”.

Il est également possible de dire la taille de la division. By default, Vim offers equal width/height of each split. If you want to custom size the split screen, use the following structure.

:<width>vsp

For horizontal split, the similar structure applies.

:<hauteur >sp

Ouverture de plusieurs fichiers dans des fenêtres fractionnées

Jusqu’à présent, toutes les fenêtres fractionnées étaient la copie du même fichier, n’est-ce pas? Il existe de nombreuses situations où vous devez travailler avec plusieurs fichiers. Avec Windows divisé, il est facile de surcharger votre charge de travail Vim.

Si vous ne le saviez pas, voici comment ouvrir un nouveau fichier dans Vim.

:e <path_to_file>/filename.extension

In this example, check out the vimrc file. Note that I’m opening vimrc in a completely new Vim instance.

:e ~/.vimrc

Now, let’s go back to the split screen example. Change the active window and open a new file.

Simple, non? Vous pouvez également demander à Vim d’ouvrir un nouveau fichier lorsque vous fractionnez. La structure de commande est assez similaire, ajoutez simplement le chemin du fichier.

:sp <file_path>

For vertical split, use a similar structure.

:vsp <file_path>

Vimrc tricks

Splitting is useful, no doubt. Cependant, il y a quelques ajustements vimrc que vous pouvez appliquer dès maintenant pour vous faciliter la vie avec des vues fractionnées.

Les commandes suivantes s’assureront que chaque fois que vous vous divisez verticalement, cela apparaîtra à droite. De plus, pour une division horizontale, la nouvelle division va apparaître en bas. Naturellement, cela semble plus confortable que la stratégie de division par défaut de Vim.

set splitbelow
set splitright

Rappelez-vous la navigation? Pour naviguer d’une division à l’autre, nous devions utiliser « Ctrl + w / W” + « h”, « l”, « k” ou « j”. Tout va bien sauf l’interférence « W / w » entre ”Ctrl » et les autres touches. Cela ne semble pas si naturel. Bien sûr, vous pouvez vous y habituer. Cependant, voici comment je préfère les définir directement au format ”Ctrl + h, l, k, j ».

nnoremap <C-J><C-W><C-J>
nnoremap <C-K><C-W><C-K>
nnoremap <C-L><C-W><C-L>
nnoremap < C-H >< C-W >< C-H >< C-H >

Pensées finales

Vim est définitivement amusant à utiliser. Il est vrai que la courbe d’apprentissage de Vim est difficile, mais pas tellement. Cela rend Vim vraiment attrayant pour moi car j’apprends toujours de nouvelles façons de manipuler l’éditeur et d’extraire le maximum d’avantages de cette légende.

Toujours confus à propos des scissions? Why not just consult the Vim documentation? Run the following command.

:help split

Enjoy!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *