Introduction à Vim

Objectif : comprendre les fondements de Vim et apprendre à s’en servir efficacement.

Introduction à Vim

Origines de Vim

  • Années 1970 : naissance de ed, premier éditeur Unix (en ligne de commande).
  • 1976 : Bill Joy crée vi à Berkeley → visual editor.
  • 1991 : Bram Moolenaar publie Vim (Vi IMproved) sur Amiga.
Introduction à Vim

Philosophie de Vim

  • Éditeur modale : plusieurs modes selon l’intention.
  • Objectif : ne pas quitter le clavier.
  • Chaque commande est une phrase logique :
    • d = delete
    • w = word
    • daw = delete a word

Vim n’est pas un éditeur de texte. C’est un langage pour manipuler du texte.

Introduction à Vim

Les principaux modes

Mode Description Comment y entrer
Normal Mode par défaut, navigation et commandes Échap
Insertion Pour écrire du texte i, a, o
Visual Pour sélectionner du texte v, V, Ctrl+v
Commande Pour exécuter des ordres (:w, :q, etc.) :

Astuce : si Vim semble "bloqué", presse Échap deux fois!

Introduction à Vim
Introduction à Vim

Les commandes essentielles

Action Commande Description
Quitter :q Quitter
Sauvegarder :w Écrire (save)
Sauvegarder et quitter :wq ou ZZ Écrire et quitter
Forcer quitter sans sauver :q! Quitter sans enregistrer
Supprimer une ligne dd Delete line
Copier une ligne yy Yank line
Coller p Paste
Annuler u Undo
Refaire Ctrl+r Redo
Introduction à Vim

Navigation dans le texte

Déplacement Touche Signification
Début / fin de ligne 0 / $
Haut / bas / gauche / droite k, j, h, l
Mot suivant / précédent w, b
Aller à une ligne précise :n (ex. :42)

Objectif : ne jamais utiliser les flèches.

Introduction à Vim

Combinaisons de commandes dans Vim

Vim fonctionne comme une phrase :
verbe + objet = action

Introduction à Vim

Les verbes (actions)

  • d → supprimer (delete)
  • y → copier (yank)
  • c → changer (change, supprime puis insère)
  • v → sélectionner (visual)
Introduction à Vim

Les objets (mouvements)

  • w → jusqu’à la fin du mot
  • $ → jusqu’à la fin de la ligne
  • 0 → jusqu’au début de la ligne
  • } → jusqu’à la fin du paragraphe
  • gg → début du fichier
  • G → fin du fichier
Introduction à Vim

Exemples de combinaisons

Commande Action
dw Supprime le mot suivant
d$ Supprime jusqu’à la fin de la ligne
yw Copie le mot courant
c$ Supprime jusqu’à la fin de la ligne et insère
yG Copie jusqu’à la fin du fichier
Introduction à Vim

Ajouter un compteur

  • 3dw → supprime 3 mots
  • 2yy → copie 2 lignes
  • 5j → descend de 5 lignes
Introduction à Vim

Exercices pratiques

  1. Ouvre un fichier :
    vim test.txt
    
  2. Insère du texte (i), puis reviens en mode normal (Échap).
  3. Supprime, copie, colle, et annule plusieurs actions.
  4. Sauvegarde avec :w et quitte avec :q.
  5. Essaie de remplacer un mot avec :%s/ancien/nouveau/g.

Objectif : manipuler le texte sans utiliser la souris.

Introduction à Vim

Fichiers de configuration

  • Fichier personnel : ~/.vimrc
  • Exemple minimal :
    syntax on
    set number
    set tabstop=4
    set expandtab
    set autoindent
    
  • Permet de personnaliser Vim à son image (couleurs, raccourcis, plugins).
Introduction à Vim

Vim aujourd’hui

  • Héritier moderne : Neovim (asynchrone, extensible en Lua).
  • Vim est partout :
    • Mode Vim dans VS Code, JetBrains, etc.
    • Commandes hjkl présentes dans tmux, zsh, less…
Introduction à Vim

Pour aller plus loin

  • https://www.vim.org
  • Tutoriel intégré :
    vimtutor
    
  • Ressources :
    • Practical Vim (Drew Neil)
    • Vim Adventures (jeu éducatif en ligne)
Introduction à Vim