post

Vim fr:Déplacement

Contents

Introduction

Une fois que vous avez écrit le texte initial, l’éditer et le modifier demande beaucoup de mouvements à l’intérieur du document. Par exemple, vous écrivez une histoire et tout à coup vous avez une idée de nouveau complot, mais pour le développer, vous devez revenir en arrière dans le texte, quand les protagonistes arrivent dans une nouvelle ville… comment vous déplacez-vous dans le texte sans perdre vos idées?

Voyons quelques exemples sur comment Vim rend cela rapide.

Note
Tous les mouvements se font à partir de la position actuelle du curseur.
  • Déplacer le curseur au prochain mot? Tapez w.
  • Se déplacer au prochain paragraphe? Tapez }.
  • Aller à la 3 ème occurrence de la lettre ‘h’? Tapez 3fh.
  • Remonter de 35 lignes? Tapez 35k.
  • Après tous les mouvements précédents, vous voulez revenir à votre position précédente? Tapez ctrl-o.
  • Vous voulez savoir comment tout cela fonctionne? Allons-y .

Pour commencer, ouvrez un fichier appelé chandrayaan.txt et tapez le texte suivant (pris dans Wikipedia):

Chandrayaan-1 is India’s first mission to the moon. Launched by India’s national space agency the Indian Space Research Organisation (ISRO). The unmanned lunar exploration mission includes a lunar orbiter and an impactor. The spacecraft was launched by a modified version of the PSLV XL on 22 October 2008 from Satish Dhawan Space Centre, Sriharikota, Andhra Pradesh at 06:23 IST (00:52 UTC). The vehicle was successfully inserted into lunar orbit on 8 November 2008. The Moon Impact Probe was successfully impacted at the lunar south pole at 20:31 hours on 14 November 2008.

The remote sensing satellite had a mass of 1,380 kilograms (3,042 lb) at launch and 675 kilograms (1,488 lb) at lunar orbit and carries high resolution remote sensing equipment for visible, near infrared, and soft and hard X-ray frequencies. Over a two-year period, it is intended to survey the lunar surface to produce a complete map of its chemical characteristics and 3-dimensional topography. The polar regions are of special interest, as they might contain ice. The lunar mission carries five ISRO payloads and six payloads from other international space agencies including NASA, ESA, and the Bulgarian Aerospace Agency, which were carried free of cost.

Déplacez le curseur, à la manière de Vim

Les premières touches que vous devez connaître sont les touches ‘hjkl’. Ces 4 touches correspondent aux touches flèche à gauche, en bas, en haut et à droite respectivement. Notez que ces touches sont situées directement sous votre main droite quand vos mains sont placée s comme indiqué à [centrales].

Mais pourquoi ne pas utiliser directement les touches (flèche en haut…)? Le problème est qu’elles sont dans une zone à part du clavier, et cela demande autant de mouvements de la main que de déplacer la souris.

Souvenez-vous, les doigts de la main droite devraient toujours être placés au-dessus des touches jklm et le pouce sur la barre d’espace). Maintenant, voyons comment utilisez ces 4 touches:

Utilisant h,j,k,l au lieu des touches avec les flèches

h Vous devez étirer votre index (qui est sur ‘j’) vers la gauche pour appuyer sur le ‘h’. C’est la touche la plus à gauche et signifie aller à gauche.
j La touche ‘j’ signifie descendre.
k Le ‘k’ qui pointe vers le haut signifie remonter.
l Le ‘l’ sur la droite du clavier signifies aller vers la droite.

Notez que nous pouvons répéter cette opération en préfixant avec un nombre, par exemple, 2j va répéter l’opération j 2 fois.

Ouvrez le fichier chandrayaan.txt et commencez à utiliser ces touches:

  • Placez le curseur sur la première lettre ‘C’ du document.
  • Tapez 2j et vous allez sauter la longue ligne sur laquelle vous êtes, la ligne vide suivante, et aller à la deuxième ligne, au deuxième paragraphe.
  • Tapez 2k pour revenir où vous étiez. Ou bien, tapez ctrl-o.
  • Tapez 5l pour vous déplacer de 5 caractères vers la droite.
  • Tapez 5h pour vous déplacer de 5 caractères vers la gauche. . Ou bien, tapez ctrl-opour revenir ou vous étiez.

Prenez l’habitude d’utiliser les touches'hjkl' au lieu des touches avec les flèches. Après quelques essais, vous vous rendrez compte que vous êtes bien plus rapide avec ces touches.

De la même manière, il existe des commandes simples qui remplacent les mouvements spéciaux suivants. Notez que cela est fait dans le but de réduire les mouvements de la main, dans ce cas particulier, les gens ont tendance à chercher et rechercher des touches spéciales, donc nous pouvons éviter cela.

Traditionnel Vim
la commande ‘home’ va au début de la ligne la commande ^ (pensez ‘ancré au début’)
la commande ‘end’ va à la fin de la ligne la commande $ (pensez ‘the buck stops here’, ‘je décide en dernier ressort’)
la touche ‘pgup’ remonte d’un écran ctrl-b remonte d’un écran
la touche ‘pgdn’ redescend d’un écran ctrl-f redescend d’un écran, f comme ‘f’orward

Si vous savez à quel numéro de ligne vous voulez aller, par exemple la ligne 50, tapez 50G et Vim va se positionner à la 50 ème ligne. Si vous n’indiquez pas de nombre, G vous placera à la dernière ligne du fichier. Comment aller au début? Simple, tapez 1G. Notez comment une seule commande peut faire beaucoup de choses.

  • Placez le curseur à la première ligne en tapant 1G.
  • Déplacez-vous de 20 caractères vers la droite en tapant 20l.
  • Revenez au premier caractère en tapant ^.
  • Allez au dernier caractère en tapant $.
  • Tapez G pour aller à la dernière ligne.

Et si vous voulez aller au milieu du texte montré dans la fenêtre?

  • Tapez H pour aller aussi ‘h’aut que possible (première ligne de la fenêtre)
  • Tapez M pour aller au ‘m’ilieu de la fenêtre
  • Tapez L pour aller aussi bas ( ‘l’ow) que possible (dernière ligne affichée)

Vous avez commencé à noter que l’accent est mis sur les touches et éviter de bouger vos mains de la zone principale. C’est une bonne chose.

Mots, phrases, paragraphes

Nous avons vu comment nous déplacer sur des caractères et des lignes. Mais nous avons tendance à penser à des mots, et comment les arranger ensemble, – phrases, paragraphes, sections, et ainsi de suite. Donc, pourquoi ne pas se déplacer sur ces parties de texte, des “objets de texte”?

Prenons les premiers mots de notre texte:

The polar regions are of special interest, as they might contain ice.

D’abord, plaçons le curseur sur le premier carcatère en tapant ^.

[T]he polar regions are of special interest, as they might contain ice.

Notez que nous utilisons les [] pour indiquer la position du curseur.

Vous voulez aller au prochain mot (word en anglais)? Tapez w. Le curseur va aller sur le ‘p’ de ‘polar’.

The [p]olar regions are of special interest, as they might contain ice.

Comment aller 2 mots plus loin? Ajoutez juste le préfixe indiquant le nombre de fois à ‘w’: 2w.

The polar regions [a]re of special interest, as they might contain ice.

De la même manière, allez à la fin (e comme ‘e’nd) du prochain mot, tapez e.

The polar regions ar[e] of special interest, as they might contain ice.

pour revenir d’un mot en arrière (‘b’ackward), tapez b. En préfixant avec un nombre de fois, 2b va revenir en arrière de 2 mots. Il devrait sauter la ligne courante, le ligne blanche et aller à la deuxième ligne, par exemple

The polar [r]egions are of special interest, as they might contain ice.

Voyez :help word-motions pour plus de détails.

Nous avons les déplacements pour les caractères et pour les mots, voyons maintenant ce qui concerne les phrases.

[C]handrayaan-1 is India’s first mission to the moon. Launched by India’s national space agency the Indian Space Research Organisation (ISRO). The unmanned lunar exploration mission includes a lunar orbiter and an impactor. The spacecraft was launched by a modified version of the PSLV XL on 22 October 2008 from Satish Dhawan Space Centre, Sriharikota, Andhra Pradesh at 06:23 IST (00:52 UTC). The vehicle was successfully inserted into lunar orbit on 8 November 2008. The Moon Impact Probe was successfully impacted at the lunar south pole at 20:31 hours on 14 November 2008.

d it should skip the current long line, the blank line and go to the second line, i.e.

Positionnez le curseur au premier caractère (^).

Pour aller à la prochaine phrase, tapez ).

Chandrayaan-1 is India’s first mission to the moon. [L]aunched by India’s national space agency the Indian Space Research Organisation (ISRO). The unmanned lunar exploration mission includes a lunar orbiter and an impactor. The spacecraft was launched by a modified version of the PSLV XL on 22 October 2008 from Satish Dhawan Space Centre, Sriharikota, Andhra Pradesh at 06:23 IST (00:52 UTC). The vehicle was successfully inserted into lunar orbit on 8 November 2008. The Moon Impact Probe was successfully impacted at the lunar south pole at 20:31 hours on 14 November 2008.

N’est-ce pas chouette?

Pour aller à la phrase précédente, tapez (.

Continuez, essayez cela et voyez à quelle vitesse vous pouvez vous déplacer. Comme toujours, vous pouvez préfixer avec un nombre de fois, comme 3) pour avancer de 3 phrases.

Maintenant, utilisez le texte entier, déplacez-vous entre les paragraphes. Tapez } pour aller au paragraphe suivant et { pour aller au paragraphe précédent.

Notez comme les plus grosses accolades concernent des objets de texte plus gros. Si vous avez déjà noté cela, félicitations, vous commencez à penser comme un vainqueur (winner, hum, “think like a Vimmer”.)

Comme toujours, n’essayez pas de vous souvenir de ces commandes, essayez d’en faire une habitude, que vos doigts utilisent naturellement ces commandes.

Voyez :help cursor-motions pour plus de détails.

Créez votre repère

Vous êtes en train d’écrire du texte, mais tout à coup vous remarquez que vous devez mettre à jour une partie qui a un rapport avec le même document, mais vous ne voulez pas vous souvenir où vous êtes actuellement, afin de pouvoir y revenir ensuite. Que faîtes-vous?

Normalement, il faudrait se déplacer jusqu’à cette partie, la mettre à jour, puis revenir où vous étiez. C’est beaucoup de travail et il est possible d’oublier où nous étions.

Nous pouvons faire des choses plus rusées dans Vim. Déplacez le curseur à la 5 ème ligne dans le texte suivant (les mots de John Lennon). Utilisez ma pour créer une marque appelée ‘a’. Déplacez le curseur où vous voulez, par exemple 4j.

I am eagerly awaiting my next disappointment. —Ashleigh Brilliant

Every man’s memory is his private literature. —Aldous Huxley

Life is what happens to you while you’re busy making other plans. —John Lennon

Life is really simple, but we insist on making it complicated. —Confucius

Do not dwell in the past, do not dream of the future, concentrate the mind on the present moment. —Buddha

The more decisions that you are forced to make alone, the more you are aware of your freedom to choose. —Thornton Wilder

Tapez 'a (i.e., simple quote suivi du nom de la marque) et voila, Vim va (revient) à la ligne où la marque était.

Vous pouvez utiliser les lettres de l’alphabet (a-zA-Z) pour donner un nom à une marque, donc vous pouvez en avoir 52 pour chaque fichier.

Se déplacer

Dans les différents mouvements que nous avons appris, nous voulons souvent revenir à l’endroit précédent ou suivant après un déplacement. Pour cela, tapez ctrl-o pour revenir à l’emplacement précédent et ctrl-i pour aller vers l’avant à l’emplacement suivant.

Parties du texte

Il y a différentes manières pour indiquer des ‘text objects’ dans Vim, afin de leur appliquer une commande. Par exemple, vous voulez sélectionner visuellement une partie de texte puis la convertir (de majuscule à minuscule ou le contraire) en utilisant la commande ~ .

Ouvrez le fichier dapping.txt créé dans les chapitres précédents. Utilisez les différentes commandes pour déplacer la première lettre du mot ‘dapper’ dans le deuxième paragraphe. Une indication: Utilisez }, j, w.

Dapping means being determined about being determined and being passionate about being passionate.

Be a dapper.

tapez v pour démarre le mode visuel, puis tapez ap pour sélectioner un paragraphe (‘a’ ‘p’aragraph). Tapez ~ pour changer la casse du texte. Si vous voulez annuler la sélection, appuyez juste sur <Esc>.

Dapping means being determined about being determined and being passionate about being passionate.

bE A DAPPER.

D’autres ‘text object mnemonics’ sont aw ce qui signifie un mot ( ‘a’ ‘w’ord, a" means a quoted string (like “this is a quoted string”), ab qui indique un block ( ‘a’ ‘b’lock qui signifie n’importe quoi à l’intérieur d’une paire de parenthèses, et ainsi de suite. Cela devrait sauter la ligne courante, la ligne blanche et aller à la deuxième ligne.

Voyez :help object-motions et :help text-objects pour plus de détails.

Récapitulatif

Nous avons vu un grand nombre de méthodes que Vim nous offre pour se déplacer autour d’un texte. Ce n’est pas important de se souvenir de chacun de ces mouvements, c’est plus important que cela devienne une habitude quand vous le pouvez, en particulier ce qui sont le plus significatifs pour vous, et quand cela devient une habitude, cela réduit le mouvement de vos mains, vous devenez plus rapide, et vous passez plus de temps à réfléchir sur votre texte qu’à penser au logiciel que vous utilisez.

Voyez :help various-motions et :help motion pour d’autres manières intéressantes de se déplacer.


Advertisements