Document

SUBSCRIBE TO GET FULL ACCESS TO THE E-BOOKS FOR FREE 🎁SUBSCRIBE NOW

Professional Dropdown with Icon

SUBSCRIBE NOW TO GET FREE ACCESS TO EBOOKS

Édition vim / nano sous Linux : modes, raccourcis et EDITOR

À la fin de ce tutoriel, vous saurez choisir entre nano et vim, éditer un fichier en SSH sans IDE, sauver/quitter sans panique, naviguer en mode Normal vim, configurer EDITOR/VISUAL, et utiliser sudoedit pour les fichiers système — le tout dans un lab jetable sous /tmp.

Niveau : Débutant · Temps estimé : 35–45 min · Versions testées : Ubuntu 22.04 / 24.04, Debian 12 ; notes Rocky/Alma 9 · Dernière vérification : 2026-09-11

Slug proposé : linux-vim-nano · Série : Linux Basics · Remplace / fusionne : N/A — création (leçon #9)

Prérequis

  • Avoir suivi Terminal & navigation (pwd, ls, cd, chemins)
  • Utile : SSH & clés (édition fréquente en session distante) et Bash scripting
  • Une machine Linux (VM, WSL2, Dual Boot ou cloud) avec un compte non-root
  • nano et/ou vim (souvent préinstallés ; commandes d’install ci-dessous)

Coût estimé : 0 €. Travaillez uniquement dans /tmp/linux-vim-nano-labjamais d’édition directe de /etc en root « pour voir ».

Ce que nous allons construire

Lab édition terminal (jetable)
  ├── nano          → ouvrir, sauver (Ctrl+O), quitter (Ctrl+X), chercher
  ├── vim           → modes Normal / Insert / Command ; :w :q :wq :q!
  ├── Comparaison   → quand nano vs vim en DevOps / SSH
  ├── EDITOR/VISUAL → select-editor, export pour git/crontab
  ├── sudoedit      → édition privilégiée sans shell root durable
  └── Quiz + FAQ + erreurs fréquentes

Édition vim et nano sous Linux

(Alt : « Édition vim / nano Linux : modes, raccourcis, EDITOR — lab DevOps ».)

Leçon #9 de Linux Basics : sans éditeur terminal, un sshd_config, un script ou un Dockerfile à distance devient un blocage.


Étape 1 — Pourquoi éditer dans le terminal (vim, nano, SSH)

Sur un serveur, l’IDE graphique n’est souvent pas là. Vous corrigez un fichier via SSH, dans un conteneur, ou pendant un incident. Deux familles d’éditeurs dominent :

Éditeur Profil Force Limite
nano Débutant Raccourcis affichés en bas ; sauver/quitter intuitifs Moins puissant pour macros / refactors
vim (ou vi) Progression DevOps Omniprésent, modes, recherche, efficacité clavier Courbe d’apprentissage (modes)

Message clé : maîtrisez nano pour être opérationnel en 5 minutes, puis vim pour rester efficace partout (vi est quasi universel). less/more servent à lire (q pour quitter) — ce ne sont pas des éditeurs.

Vérifiez ce qui est installé :

command -v nano; command -v vim; command -v vi
nano --version | head -n 1
vim --version | head -n 1

Installation si besoin (Ubuntu/Debian) :

sudo apt update && sudo apt install -y nano vim

Sur Rocky/Alma 9 :

sudo dnf install -y nano vim-enhanced

Étape 2 — Lab jetable et premier fichier avec nano

mkdir -p /tmp/linux-vim-nano-lab
cd /tmp/linux-vim-nano-lab
printf '%sn' '# notes lab' 'app_port=8080' 'log_level=info' > notes.conf
ls -la

Ouvrez avec nano :

nano notes.conf

Repères nano (bandeau bas de l’écran) :

Raccourci Action
Ctrl+O puis Entrée Enregistrer (Write Out)
Ctrl+X Quitter (propose de sauver si modifié)
Ctrl+W Chercher un motif
Ctrl+K / Ctrl+U Couper la ligne / coller
Ctrl+_ Aller à une ligne
Alt+U Annuler (selon build)

Modifiez log_level=info en log_level=debug, sauvez (Ctrl+O, Entrée), quittez (Ctrl+X). Vérifiez :

cat notes.conf
grep log_level notes.conf

Astuce : nano -l notes.conf affiche les numéros de ligne.

Étape 3 — vim : les modes (Normal, Insert, Command)

Vim n’est pas « cassé » : il a des modes. Oublier le mode explique 90 % des blocages débutants.

Mode Entrée Usage
Normal démarrage / Esc Navigation, copier, supprimer, commandes
Insert i, a, o Saisie de texte
Visual v / V Sélection
Command-line : depuis Normal :w, :q, :wq, :q!, :set number

Ouvrez le même fichier :

vim notes.conf

Séquence minimale « je dois juste changer une valeur » :

  1. Touche i → Insert (souvent -- INSERT -- en bas)
  2. Éditez le texte
  3. Esc → revenir en Normal
  4. Tapez :wq puis Entrée → écrire et quitter

Pour abandonner sans sauver : Esc, puis :q!.

Autres entrées Insert : a (après curseur), o / O (nouvelle ligne), A (fin de ligne).

Étape 4 — vim pratique : navigation, yy/dd, recherche

Restez en Normal (Esc). Déplacements utiles :

Touche Effet
h j k l Gauche / bas / haut / droite (flèches OK aussi)
0 / $ Début / fin de ligne
gg / G Début / fin de fichier
/motif puis n / N Chercher suivant / précédent
dd Couper (supprimer) la ligne
yy puis p Copier la ligne puis coller
u Undo
Ctrl+R Redo

Lab guidé :

cd /tmp/linux-vim-nano-lab
cp notes.conf app.env
vim app.env

Dans vim : Esc, :set number, /app_port, Entrée, i pour éditer, Esc, yy, p pour dupliquer une ligne de test, Esc, :wq.

Réflexe : Esc avant toute commande :. Une session vimtutor (15–20 min) ancre les gestes.

vimtutor

Étape 5 — nano vs vim : que choisir en DevOps ?

Situation Choix conseillé
Première correction urgente sur un VPS nano
Fichier long, multi-hops SSH, vi seul dispo vim / vi
Script bash de 30 lignes, confort nano ou vim selon habitude
Pairing / live démo pour juniors nano (raccourcis visibles)
Refactor + macros + buffers vim

Les deux coexistent souvent (EDITOR=nano pour git/cron, vim au quotidien). L’essentiel : savoir sortir sans tuer la session SSH.

Étape 6 — EDITOR, VISUAL et sudoedit

De nombreux outils lancent « votre » éditeur : crontab -e, git commit, visudo, kubectl edit.

echo "EDITOR=${EDITOR:-<vide>}"
echo "VISUAL=${VISUAL:-<vide>}"
# Session courante (exemple nano) :
export EDITOR=nano
export VISUAL=nano
# Persistant pour bash :
grep -q 'EDITOR=nano' ~/.bashrc || echo 'export EDITOR=nano' >> ~/.bashrc

Sur Debian/Ubuntu, l’outil interactif :

# select-editor   # décommentez pour choisir nano/vim system-wide user

Fichiers système : évitez sudo vim /etc/... (le fichier peut finir root-owned avec un vim swap bizarre). Préférez :

# Exemple pédagogique — cible un fichier COPIÉ, pas un vrai /etc :
cp /etc/hosts /tmp/linux-vim-nano-lab/hosts.copy
EDITOR=nano sudoedit /tmp/linux-vim-nano-lab/hosts.copy
# sudoedit copie, ouvre $EDITOR en user, puis réécrit avec privilèges

sudo -e est l’alias courant de sudoedit. En prod : même pattern sur /etc/... après backup — hors lab /tmp.

Étape 7 — Mini-lab : script + lecture seule

Créez et éditez un petit script, puis comparez avec less :

cd /tmp/linux-vim-nano-lab
cat > hello.sh << 'EOF'
#!/usr/bin/env bash
set -euo pipefail
echo "hello from vim/nano lab"
EOF
chmod +x hello.sh
nano hello.sh    # ou : vim hello.sh
./hello.sh
less hello.sh    # lecture ; q pour quitter — pas d’édition

Ajoutez une deuxième ligne echo "done" avec l’éditeur de votre choix, sauvez, relancez ./hello.sh.


Checklist de validation

  • [ ] nano notes.conf : modifier, Ctrl+O, Ctrl+X, cat OK
  • [ ] vim : i → texte → Esc:wq (et savoir faire :q!)
  • [ ] Recherche vim /motif + n
  • [ ] export EDITOR=nano (ou vim) testé mentalement pour crontab -e
  • [ ] Distinction claire : less lit, nano/vim écrivent
  • [ ] Lab limité à /tmp/linux-vim-nano-lab

Nettoyage — lab jetable

rm -rf /tmp/linux-vim-nano-lab
# Les paquets nano/vim peuvent rester installés (utiles au quotidien)

Erreurs fréquentes

Symptôme Cause Correction
Vim « mange » les frappes / insert bizarre Pas en mode Insert, ou Insert oublié Esc, puis i ; regarder la barre du bas
Impossible de quitter vim Tentative de Ctrl+C / fermer le terminal Esc, :q! (sans sauver) ou :wq
E37: No write since last change :q alors que buffer modifié :wq ou :q!
Permission denied en sauvant Fichier root ou hors home Lab dans /tmp ; système via sudoedit
Nano quitte sans sauver Ctrl+X puis réponse « N » Refaire, Ctrl+O avant Ctrl+X
vim: command not found Paquet absent (image minimale) apt/dnf install vim ou utiliser vi / nano
Swap file déjà existant vim planté / session parallèle Lire le message ; d delete swap si fichier OK

Quiz (3 questions)

1. Quelle séquence vim sauve et quitte proprement ?
– A. Ctrl+X puis Entrée
– B. Esc puis :wq puis Entrée
– C. :exit! sans Esc

2. Quel raccourci nano enregistre le fichier ?
– A. Ctrl+S
– B. Ctrl+O
– C. Ctrl+W

3. Pourquoi préférer sudoedit à sudo vim /etc/fichier ?
– A. Parce que vim refuse root
– B. Pour éditer via $EDITOR en user puis réécrire avec privilèges, plus propre
– C. Parce que nano est interdit avec sudo

Réponses : 1‑B · 2‑B · 3‑B

FAQ

Nano ou vim pour débuter le DevOps ?
Commencez par nano pour débloquer SSH et les configs en quelques minutes (raccourcis affichés). Apprenez ensuite le socle vim (modes, :wq, recherche) : sur beaucoup d’images minimales, seul vi est présent. Les deux compétences sont complémentaires, pas concurrentes.

Comment sortir de vim si je suis perdu ?
Appuyez plusieurs fois sur Esc pour revenir en mode Normal, tapez :q! puis Entrée pour quitter sans enregistrer. Si vous voulez garder les changements : :wq. Évitez de fermer le terminal SSH : vous laisseriez des fichiers .swp.

À quoi servent EDITOR et VISUAL ?
Ce sont des variables d’environnement qui indiquent aux programmes quel éditeur lancer (crontab -e, git commit, visudo, kubectl edit). Exemple : export EDITOR=nano. VISUAL est l’équivalent « éditeur plein écran » ; beaucoup d’outils consultent les deux. Alignez-les pour éviter les surprises.

Pour aller plus loin

  • vimtutor ; man nano ; man vim
  • Prochaines leçons Basics : find & locate, archives tar/gzip, pipes & redirections
  • Côté shell : grep & ripgrep, Bash scripting

Maillage série Linux Basics

← Précédent Se connecter en SSH avec des clés : ssh-keygen, agent et config
→ Suivant find & locate
Hub Linux Basics
Aussi Terminal & navigation · Bash scripting

Meta publication (à remplir dans Rank Math / SEO)

  • Title SEO : Édition vim / nano Linux : modes et raccourcis (2026)
  • Meta description (≤ 155) : Éditez fichiers sous Linux avec nano et vim : modes, raccourcis, EDITOR. Lab DevOps safe dans /tmp (2026).
  • Focus keyphrase : vim nano
  • Schemas Rank Math : Article + HowTo (étapes lab) + FAQ (3 questions ci-dessus)
  • Image mise en avant : assets/web/devopelastichayway/cover-linux-vim-nano-1200x630.webp (Visuels Linux — WebP 1200×630)
  • Catégorie : Linux · Niveau : Débutant
  • Slug : linux-vim-nano
  • Publish : HOLD

← Retour parcours Linux — Basics, Admin, Réseau & Sécurité, Shell & Automation.