Aller au contenu

Vim

Vim est un éditeur de texte basé sur l'éditeur vi. (prononcé Vie aille)

Base

  • i mode insertion
  • I insertion au début de la ligne
  • a insertion après le curseur
  • A insertion à la fin de la ligne
  • o insertion à la ligne d'après
  • O insertion à la ligne d'avant

Astuces

Mouvements intéressants

  • ci( (Change inside), remplacer ce qu'il y a à l'intérieur de la prochaine parenthèse
  • ci" (Change inside), remplacer ce qu'il y a à l'intérieur de la prochaine guillemet
  • ciw (Change inside), remplacer ce qu'il y a à l'intérieur du mot peut importe où est le crurseur

Gestionnaire de fichier interne

On peut l'appeler le gestionnaire de fichier de différentes façons:

  • vim . (dans le dossier courant)
  • À l'intérieur de vim, avec l'option :E

Quelques commandes utiles dans netrw

Une fois dans l'explorateur :

  • Entrée ouvrir le fichier/répertoire
  • - remonter d'un répertoire
  • d créer un répertoire
  • % créer un nouveau fichier
  • D supprimer
  • R renommer
  • s changer le tri
  • q fermer l'explorateur
  • t ouvrir dans un onglet
  • o ouvrir dans un split horizontal
  • v ouvrir dans un split vertical

Gestion des fenêtres

Pour passer d'une fenêtre à l'autre, ou d'un panneau à l'autre plutôt, la combinaison de touche par défaut est:

ctrl+w
On pourra utiliser les touches h,j,k,l classiques de vim pour passer de l'un à l'autre.

Gestion des onglets

On pourra passer d'un onglet à l'autre avec la touche:

  • g suivi de t pour suivant
  • g suivi de T pour précedent

Fermeture des onglets ou des panneaux

Tout est considérer comme buffer, donc pour fermer un panneau ou un onglet, il faudra fermer le buffer avec:

  • :bd (buffer delete)

Incrémenter

Dans le cas d'un renommage en masse d'une série TV par exemple, on peut avoir besoin de partir d'un numéro pour un épisode et incrémenter de +1 pour les autres. Ça évite d'avoir à tout réecrire à la main.

Partons d'une liste comme celle-ci:

Série S02E34.mkv
Série S02E34.mkv
Série S02E34.mkv
Série S02E34.mkv
Il faudra faire en sorte que les lignes soient identiques !

  • Sélectionner avec le mode VISUEL BLOC Ctrl+v tous les nombres 34.
  • Appuyer sur g puis, tout de suite après, faire Ctrl+a

On devrait obtenir le résultat suivant:

Série S02E35.mkv
Série S02E36.mkv
Série S02E37.mkv
Série S02E38.mkv

Copier/Coller

Vim a la possibilité de copier/coller des mots et des lignes à l'intérieur d'un même fichier, mais aussi d'un fichier à un autre grâce aux registres.

Dans un même fichier

Copier:

  • Copier une ligne se fera avec yy
  • Copier un mot se fera avec yw (yank word)
  • Copier deux lignes en dessous de la ligne ou le pointeur est y2j

...

Coller:

  • Coller après se fera avec p
  • Coller avant se fera avec P

Entre deux fichiers

Dans la même instance vim

Les options de copier seront les mêmes, simplement il faudra enregistrer cette copie dans un registre en utilisant la touche "

Exemple:

"ayy Va copier la ligne dans le registre a

"ap Va coller la ligne du registre a

Registre presse-papier

Le registre + correspond au presse-papier du système. Il faudra avoir vim-gtk d'installer par contre.

Exemple:

"+yy Va copier la ligne dans le registre +

"+ap Va coller la ligne du registre +

On pourra aussi copier/coller dans le système via ctr+c/ctrl+v par exemple.

Macros

Une macro permet d'enregistrer une suite de chose à faire et la faire répéter le nombre de fois qu'on veut.

Exemple pour nettoyer une liste de fichier dans vim ou vifm (Gestionnaire de fichier en TUI)

2 Broke Girls - 1x01 - Et des cupcakes (Pilote).mkv
2 Broke Girls - 1x02 - Et la scène de rupture.mkv
2 Broke Girls - 1x03 - Et la bonne volonté.mkv
2 Broke Girls - 1x04 - Et des problémes de riches.mkv
2 Broke Girls - 1x05 - Et la soirée années 90 et l'équitation.mkv
2 Broke Girls - 1x06 - Et un lit a ressorts.mkv
2 Broke Girls - 1x07 - Et les jolies roses.mkv
2 Broke Girls - 1x08 - Et la syllogomanie.mkv
2 Broke Girls - 1x09 - Et l'institution Johnny Cash.mkv
2 Broke Girls - 1x10 - Et l'esprit des fêtes de fin d'année.mkv
2 Broke Girls - 1x11 - Et la réalité en pleine face.mkv
2 Broke Girls - 1x12 - Et la vente éphémère.mkv
2 Broke Girls - 1x13 - Et l'ingrédient secret.mkv
2 Broke Girls - 1x14 - Et le voisin du dessus.mkv
2 Broke Girls - 1x15 - Et le ballon dans l'angle de mort.mkv
2 Broke Girls - 1x16 - Et les coeurs brisés.mkv
2 Broke Girls - 1x17 - Et les cupcakes casher.mkv
2 Broke Girls - 1x18 - Et les coups d'un soir.mkv
2 Broke Girls - 1x19 - Et les grandes vacances.mkv
2 Broke Girls - 1x20 - Et les effets secondaires.mkv
2 Broke Girls - 1x21 - Et la débâcle du sac à main bordélique.mkv
2 Broke Girls - 1x22 - Et la crème au beurre.mkv
2 Broke Girls - 1x23 - Et Martha Stewart va au bal (1).mkv
2 Broke Girls - 1x24 - Et Martha Stewart va au bal (2).mkv

Enregisterment macro

  • Je vais lancer la macro dans le registre a par exemple en faisant qa.

  • Là un message s'affichera en bas "Enregistrement @a"

  • À ce moment là je peux m'ocupper de la première ligne seulement, pour quelle resemble à ce que je veux:

2 Broke Girls S1E01.mkv
  • Je reviens au début de la 2ème ligne

  • Puis j'appuies sur q pour arrêter l'enregistrement de la macro.

Répétition macro

Pour appeler la macro, il suffira de faire @a

Ici, j'ai envie de répéter cette marcro pour toutes les lignes restantes, c'est à dire 23 lignes restantes.

Il faudra donc faire:

  • 23@a

Résultat:

2 Broke Girls S1E01.mkv
2 Broke Girls S1E02.mkv
2 Broke Girls S1E03.mkv
2 Broke Girls S1E04.mkv
2 Broke Girls S1E05.mkv
2 Broke Girls S1E06.mkv
2 Broke Girls S1E07.mkv
2 Broke Girls S1E08.mkv
2 Broke Girls S1E09.mkv
2 Broke Girls S1E10.mkv
2 Broke Girls S1E11.mkv
2 Broke Girls S1E12.mkv
2 Broke Girls S1E13.mkv
2 Broke Girls S1E14.mkv
2 Broke Girls S1E15.mkv
2 Broke Girls S1E16.mkv
2 Broke Girls S1E17.mkv
2 Broke Girls S1E18.mkv
2 Broke Girls S1E19.mkv
2 Broke Girls S1E20.mkv
2 Broke Girls S1E21.mkv
2 Broke Girls S1E22.mkv
2 Broke Girls S1E23.mkv
2 Broke Girls S1E24.mkv

Super pratique !