Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

Par mis à jour le

Améliorer cette page

Vous devez modifier un fichier sur un serveur distant et vous en avez assez de jongler avec les modes de vi ou de mémoriser les raccourcis nano ? Micro est un éditeur terminal qui fonctionne comme un éditeur graphique : Ctrl+S pour sauvegarder, Ctrl+C pour copier, Ctrl+V pour coller, Ctrl+Z pour annuler. Ce guide vous accompagne de l'installation jusqu'à un environnement productif avec multi-curseurs, plugins et personnalisation complète. Toutes les valeurs par défaut citées ont été relevées dans les sources de la version 2.0.15, la dernière publiée.

  • Installer micro sur n'importe quelle distribution Linux en une commande
  • Éditer des fichiers avec les raccourcis que vous connaissez déjà
  • Sélectionner et manipuler du texte à la souris ou au clavier
  • Chercher et remplacer du texte avec des expressions régulières
  • Travailler avec plusieurs fichiers en splits et onglets
  • Utiliser les multi-curseurs pour éditer plusieurs endroits à la fois
  • Personnaliser l'éditeur avec les options et les thèmes de couleurs
  • Installer des plugins pour étendre les fonctionnalités

Chaque éditeur terminal a sa philosophie. Le choix dépend de votre contexte et de ce que vous attendez de votre outil au quotidien.

Critèrenanovi/vimmicro
Courbe d'apprentissageTrès facileDifficile (modes)Très facile
RaccourcisSpécifiques (Ctrl+O pour sauver)Spécifiques (dd, yy, :wq)Standards (Ctrl+S, Ctrl+C, Ctrl+V)
Multi-curseursNonPossible avec pluginsNatif
SourisLimitéeAvec configurationComplète (clic, glisser, sélection)
Coloration syntaxiqueBasiqueBonne (vim)130+ langages
PluginsNonOui (vim)Oui (Lua, gestionnaire intégré)
Terminal intégréNonNonOui
InstallationPré-installéPré-installé (vi)Binaire statique à télécharger
Cas d'usage principalÉdition rapide et simpleÉditeur puissant pour expertsÉditeur confortable pour usage quotidien

Le positionnement se lit sur deux axes, la puissance et le coût d'entrée. nano est présent partout et s'utilise sans rien apprendre, mais plafonne vite. vi/vim couvre tous les besoins d'édition et reste disponible sur n'importe quel serveur, au prix d'un apprentissage réel des modes et des commandes. micro vise le point intermédiaire : raccourcis familiers du type Ctrl+S et Ctrl+C, souris, sélection multiple, sans mode à mémoriser. Il n'est en revanche pas installé par défaut, ce qui le disqualifie sur une machine à laquelle vous accédez une seule fois.

Cette dernière limite mérite d'être prise au sérieux plutôt que contournée. Sur un conteneur minimal, un serveur de production verrouillé ou un système démarré en mode rescue, installer un paquet n'est ni toujours possible ni toujours souhaitable, et vi restera le seul éditeur présent. Micro est un outil de confort pour les machines que vous administrez régulièrement ; gardez les bases de vi pour les autres.

Micro est distribué comme un binaire statique unique, pas de dépendances, pas de compilation. L'installation prend quelques secondes quelle que soit votre distribution.

La méthode recommandée quand le paquet de votre distribution est trop ancien : Debian 13 propose par exemple la 2.0.14. Le projet publie, pour chaque archive, un fichier .sha contenant son empreinte SHA-256 ; la commande sha256sum --check doit répondre OK avant toute extraction :

Fenêtre de terminal
MICRO_VERSION=2.0.15
BASE="https://github.com/zyedidia/micro/releases/download/v${MICRO_VERSION}"
curl -sSLO "${BASE}/micro-${MICRO_VERSION}-linux64-static.tar.gz"
curl -sSLO "${BASE}/micro-${MICRO_VERSION}-linux64-static.tar.gz.sha"
sha256sum --check "micro-${MICRO_VERSION}-linux64-static.tar.gz.sha"
tar -xzf "micro-${MICRO_VERSION}-linux64-static.tar.gz"
sudo install -m 0755 "micro-${MICRO_VERSION}/micro" /usr/local/bin/micro

La variante linux64-static n'a aucune dépendance à la glibc, elle fonctionne donc aussi sur les images Alpine et les systèmes anciens.

Vérification : confirmez l'installation en affichant la version :

Fenêtre de terminal
micro -version

Avec l'archive ci-dessus, la sortie commence par ces lignes :

Version: 2.0.15
Commit hash: 6a62575b

Une dernière étape conditionne le confort promis par Ctrl+C et Ctrl+V : le presse-papier système. Sans utilitaire externe, micro se rabat sur un presse-papier interne, et le copier-coller ne fonctionne qu'à l'intérieur de l'éditeur, jamais avec votre navigateur ou un autre terminal. Installez donc l'outil correspondant à votre session graphique, xclip ou xsel sous X11, wl-clipboard sous Wayland :

Fenêtre de terminal
# X11
sudo apt install xclip
# Wayland
sudo apt install wl-clipboard

Sur un serveur sans environnement graphique, cette étape n'a pas d'objet : le copier-coller passe alors par votre émulateur de terminal local, pas par micro, qui ne voit qu'un collage de texte tapé au clavier.

Ces trois opérations couvrent l'essentiel d'une session d'édition sur un serveur. Contrairement à vi, aucun mode n'est à connaître : les raccourcis sont ceux d'un éditeur graphique et l'on tape du texte dès l'ouverture.

Comme avec n'importe quel éditeur, passez le nom du fichier en argument :

Fenêtre de terminal
micro fichier.txt

Si le fichier n'existe pas, micro le créera à la première sauvegarde. Vous pouvez aussi ouvrir micro sans argument pour un buffer vide, ou même envoyer des données via un pipe :

Fenêtre de terminal
ip a | micro

Dès l'ouverture, vous voyez :

  • La zone d'édition avec coloration syntaxique automatique
  • La barre d'onglets en haut (si plusieurs fichiers sont ouverts)
  • La barre de statut en bas, qui affiche le nom du fichier, la position du curseur (ligne, colonne), le type de fichier et l'encodage

Interface de micro avec coloration syntaxique bash, numéros de ligne et barre de statut

Contrairement à vi, il n'y a pas de modes. Vous pouvez taper du texte immédiatement, comme dans un éditeur graphique. C'est le point fort de micro : aucune surprise, aucun piège de mode comme le :q! que l'on cherche la première fois dans vi.

Voici les raccourcis que vous utiliserez 90 % du temps. Si vous avez déjà utilisé un éditeur graphique (VS Code, Bloc-notes, Sublime Text), vous les connaissez déjà :

RaccourciAction
Ctrl+SSauvegarder le fichier
Ctrl+QQuitter micro
Ctrl+ZAnnuler la dernière modification
Ctrl+YRefaire (annuler l'annulation)
Ctrl+CCopier la sélection (ou la ligne si pas de sélection)
Ctrl+XCouper la sélection (ou la ligne)
Ctrl+VColler
Ctrl+DDupliquer la sélection (ou la ligne)
Ctrl+KCouper la ligne entière
Ctrl+ATout sélectionner
Ctrl+FRechercher du texte
Ctrl+GAfficher l'aide

Tant que ces raccourcis ne sont pas acquis, Alt+G affiche un menu de raccourcis en bas de l'écran, exactement comme le fait nano. Ce menu est masqué par défaut pour laisser deux lignes de plus au texte, et se réactive à chaque session par Alt+G ou une fois pour toutes avec la commande set keymenu true, l'option keymenu valant false par défaut.

Menu de raccourcis de micro affiché en bas de l'écran, similaire à nano

Exemple pas à pas : modifier un fichier de configuration

Section intitulée « Exemple pas à pas : modifier un fichier de configuration »

Imaginons que vous devez modifier le fichier /etc/hosts pour ajouter une entrée :

  1. Ouvrez le fichier avec micro (en mode super utilisateur si nécessaire) :

    Fenêtre de terminal
    sudo micro /etc/hosts
  2. Naviguez jusqu'à la dernière ligne avec les flèches ou Ctrl+End.

  3. Tapez la nouvelle ligne directement, pas besoin de passer en "mode insertion" :

    192.168.1.100 mon-serveur.local
  4. Sauvegardez avec Ctrl+S. La barre de statut confirme la sauvegarde.

  5. Quittez avec Ctrl+Q.

C'est aussi simple que ça. Pas de :wq, pas de Ctrl+O suivi de Entrée.

Micro supporte toutes les touches de navigation habituelles. Si vous savez naviguer dans un document texte sur votre ordinateur, vous savez naviguer dans micro.

Deux nuances méritent votre attention dans ce tableau. Home ne va pas à la colonne 1 mais au premier caractère non blanc de la ligne, ce qui est le comportement attendu quand on édite du YAML indenté. Et sur macOS, les rôles de Ctrl et Alt sont inversés par rapport à Linux pour les déplacements mot à mot et début/fin de ligne : c'est Alt+Flèche qui déplace d'un mot. Le reste correspond à ce que fait n'importe quel traitement de texte.

RaccourciDéplacement
FlèchesCaractère par caractère / ligne par ligne
Ctrl+Gauche / Ctrl+DroiteMot par mot
Home / EndDébut / fin de la ligne
Ctrl+Home / Ctrl+EndDébut / fin du fichier
Page Up / Page DownPage par page
Ctrl+LAller à une ligne spécifique (saisir le numéro)

La sélection fonctionne exactement comme dans un éditeur graphique :

  • Au clavier : maintenez Shift et utilisez les flèches, Home, End, Page Up, Page Down pour étendre la sélection
  • À la souris : cliquez et glissez pour sélectionner
  • Double-clic : sélectionne le mot sous le curseur
  • Triple-clic : sélectionne la ligne entière

Une fois le texte sélectionné, utilisez Ctrl+C pour copier, Ctrl+X pour couper, ou tapez directement pour remplacer la sélection.

Sélection de texte surlignée dans micro avec Shift+Flèches sur un bloc de code

La prise en charge de la souris va plus loin que dans la plupart des éditeurs terminal : au-delà du clic et du glisser, la molette fait défiler le fichier et Ctrl+Clic pose des multi-curseurs, fonction reprise plus bas. Cette prise en charge suppose que votre émulateur de terminal transmette les événements souris, ce que font tous les terminaux courants ; si le clic ne positionne pas le curseur, vérifiez set mouse true.

La barre de commande est le centre de contrôle de micro. Ouvrez-la avec Ctrl+E et tapez une commande : elle joue le rôle de la ligne : de vim, sans changement de mode, avec la complétion par Tab. Voici les commandes les plus utiles :

Ces commandes doublent des raccourcis existants, avec une différence utile : elles acceptent un argument. save sans argument équivaut à Ctrl+S, mais save autre-nom.txt réalise un « enregistrer sous » qu'aucun raccourci ne couvre. Retenez surtout reopen, qui recharge le fichier depuis le disque : c'est la commande qui vous sort d'affaire quand un autre processus a modifié le fichier pendant que vous l'aviez ouvert.

CommandeCe qu'elle fait
saveSauvegarde le fichier courant
save fichier.txtSauvegarde sous un autre nom ("Save as")
open fichier.txtOuvre un fichier dans le buffer courant
tab fichier.txtOuvre un fichier dans un nouvel onglet
quitQuitte le panneau courant
reopenRecharge le fichier depuis le disque

La distinction entre les deux premières lignes est celle qui compte. set écrit la valeur dans ~/.config/micro/settings.json et elle vous suivra sur tous vos fichiers et toutes vos sessions ; setlocal ne vaut que pour le buffer courant et disparaît à la fermeture. Utilisez setlocal quand vous devez ponctuellement passer en tabulations réelles pour un Makefile, sans polluer votre configuration permanente. show répond avec la valeur effective, ce qui permet de vérifier si un plugin a surchargé votre réglage.

CommandeCe qu'elle fait
set option valeurModifie une option (sauvegardée dans settings.json)
setlocal option valeurModifie une option pour ce fichier uniquement
show optionAffiche la valeur actuelle d'une option
toggle optionBascule une option binaire (true/false)
reset optionRemet une option à sa valeur par défaut

goto est la commande à retenir quand vous déboguez : un interpréteur qui signale une erreur en ligne 42, colonne 10 se retrouve directement avec goto 42:10, sans compter les lignes à l'écran. Les deux commandes de remplacement diffèrent uniquement par la confirmation, replace vous demande votre accord occurrence par occurrence alors que replaceall applique tout d'un coup. Sur un fichier de configuration de production, préférez la première : l'annulation par Ctrl+Z reste possible, mais ne rattrape pas une sauvegarde déjà faite.

CommandeCe qu'elle fait
goto 42Va à la ligne 42
goto 42:10Va à la ligne 42, colonne 10
replace "a" "b"Recherche et remplacement interactif
replaceall "a" "b"Remplace toutes les occurrences sans confirmation
cd /home/userChange le répertoire de travail
pwdAffiche le répertoire de travail courant

Ces trois commandes ouvrent l'éditeur sur le shell, chacune à un niveau différent. run lance une commande en arrière-plan et n'affiche que sa sortie, sur une ligne de la barre d'information, une fois qu'elle se termine. term ouvre un shell interactif complet, et textfilter envoie la sélection courante sur l'entrée standard d'une commande puis remplace cette sélection par la sortie obtenue.

CommandeCe qu'elle fait
run commandeExécute une commande en arrière-plan, sortie sur une ligne
termOuvre un terminal interactif (détails plus bas)
textfilter commandeFiltre la sélection à travers une commande shell

La commande textfilter est particulièrement puissante. Par exemple, pour trier une liste de noms sélectionnée dans votre fichier :

  1. Sélectionnez les lignes à trier (avec Shift+Flèches ou à la souris)

  2. Appuyez sur Ctrl+E et tapez : textfilter sort

  3. Les lignes sélectionnées sont triées alphabétiquement

Vous pouvez utiliser n'importe quelle commande externe : sort -n pour un tri numérique, uniq pour dédoublonner, jq . pour formater du JSON. Micro lance la commande directement, sans passer par un shell : un tube | dans l'argument ne fonctionne donc pas, enchaînez plutôt deux textfilter.

La recherche est le premier besoin sur un fichier de configuration de plusieurs centaines de lignes. Micro accepte le texte simple comme les expressions régulières, et le remplacement peut être validé occurrence par occurrence.

Appuyez sur Ctrl+F pour ouvrir la barre de recherche en bas de l'écran. Tapez votre mot, validez avec Entrée : le curseur se place sur la première occurrence et la barre se ferme. C'est depuis le fichier, et non depuis la barre de recherche, que l'on passe ensuite d'une occurrence à l'autre, comme le précise l'aide officielle (help defaultkeys) :

RaccourciAction
EntréeValider la recherche et fermer la barre
Ctrl+NAller à l'occurrence suivante (depuis le fichier)
Ctrl+PAller à l'occurrence précédente (depuis le fichier)
EscAbandonner la recherche en cours

La recherche est incrémentale par défaut (les résultats apparaissent en temps réel pendant la saisie, option incsearch) et insensible à la casse (option ignorecase, à true par défaut).

Recherche incrémentale dans micro avec les occurrences surlignées et la barre de recherche en bas

La recherche-remplacement s'effectue via la barre de commande. Appuyez sur Ctrl+E pour ouvrir la barre de commande, puis tapez :

replace "ancien" "nouveau"

Micro surligne la première occurrence et vous demande confirmation : y (oui), n (non) ou Esc (annuler).

Pour remplacer toutes les occurrences d'un coup, ajoutez le drapeau -a :

replace "ancien" "nouveau" -a

Un point de syntaxe change tout le reste : micro interprète le motif recherché comme une expression régulière, pas comme du texte littéral. Le point y signifie « n'importe quel caractère », si bien qu'un motif 192.168.1.1 sélectionnerait aussi bien la chaîne 192x168y1z1. Deux façons de retrouver un comportement littéral, au choix : échapper chaque caractère spécial avec une barre oblique inverse, ou ajouter le drapeau -l, qui désactive l'interprétation regex pour toute la commande. Les drapeaux s'écrivent séparément : micro ne reconnaît que -a et -l, et refuse un -al collé avec l'erreur Invalid flag: -al.

replace "192\.168\.1\.1" "10.0.0.1" -a
replace "192.168.1.1" "10.0.0.1" -a -l

Corriger une configuration demande souvent de comparer deux fichiers, ou d'aller chercher une valeur ailleurs. Micro propose deux dispositions pour cela, les onglets et le partage d'écran en splits, sans quitter la session.

Micro peut ouvrir plusieurs fichiers dans des onglets, exactement comme un navigateur web. La barre d'onglets s'affiche en haut de l'écran.

ActionRaccourci ou commande
Ouvrir un fichier dans un nouvel ongletCtrl+E → tab fichier.txt, ou Ctrl+T (onglet vide) puis Ctrl+O
Onglet suivantAlt+.
Onglet précédentAlt+,
Fermer l'onglet courantCtrl+Q

Vous pouvez aussi ouvrir plusieurs fichiers directement depuis le terminal :

Fenêtre de terminal
micro fichier1.txt fichier2.yml fichier3.py

Chaque fichier s'ouvre dans un onglet séparé.

Splits : afficher plusieurs fichiers côte à côte

Section intitulée « Splits : afficher plusieurs fichiers côte à côte »

Les splits divisent la fenêtre pour afficher deux fichiers (ou plus) simultanément. Utilisez la barre de commande (Ctrl+E) :

CommandeRésultat
vsplit fichier.txtSplit vertical (côte à côte)
hsplit fichier.txtSplit horizontal (l'un au-dessus de l'autre)

Pour naviguer entre les splits, appuyez sur Ctrl+W. Ce raccourci bascule entre les différents panneaux ouverts.

Exemple concret : vous éditez un fichier YAML et vous avez besoin de consulter un fichier de référence en même temps :

  1. Ouvrez le fichier principal : micro config.yml

  2. Appuyez sur Ctrl+E et tapez : vsplit reference.yml

  3. Naviguez entre les deux panneaux avec Ctrl+W

  4. Modifiez le fichier principal en vous référant au fichier de droite

Deux fichiers ouverts côte à côte en split vertical : script bash à gauche et docker-compose.yml à droite

Micro peut ouvrir un vrai terminal dans l'éditeur. C'est très pratique pour exécuter des commandes, lancer des tests ou lire des journaux sans quitter la session. Appuyez sur Ctrl+E et tapez :

term

Le terminal ne s'ouvre pas tout seul dans un split : si un seul fichier est ouvert, term crée un nouvel onglet ; sinon, il remplace le panneau actif, après vous avoir proposé de sauvegarder. Pour obtenir le terminal sous votre code, ouvrez d'abord un split vide avec hsplit, puis tapez term dans ce nouveau panneau.

Terminal intégré dans micro : code en haut et shell interactif en bas dans un split horizontal

Dans un panneau de terminal, les touches partent vers le shell, et les raccourcis de micro se tapent donc deux fois de suite. Ctrl+W Ctrl+W revient au panneau voisin, Ctrl+Q Ctrl+Q ferme le terminal. Taper exit dans le shell le ferme aussi, comme ailleurs.

Multi-curseurs : éditer plusieurs endroits à la fois

Section intitulée « Multi-curseurs : éditer plusieurs endroits à la fois »

Les multi-curseurs permettent de modifier plusieurs endroits du fichier simultanément. C'est une fonctionnalité popularisée par Sublime Text et VS Code, et micro la propose nativement dans le terminal.

Les quatre méthodes ne servent pas au même travail. Alt+N suit le contenu : il cherche l'occurrence suivante du mot sélectionné, où qu'elle se trouve, ce qui convient au renommage d'une variable. Alt+M suit la géométrie : il pose un curseur au début de chaque ligne de la sélection, sans regarder le texte, ce qui convient à l'édition en colonne. Ctrl+Clic et Alt+Shift+Flèches couvrent les cas irréguliers que ni l'un ni l'autre ne capture.

MéthodeComment faire
SourisCtrl+Clic à chaque endroit où vous voulez un curseur
Occurrence suivanteSélectionnez un mot, puis Alt+N pour ajouter un curseur sur l'occurrence suivante (répétez pour en ajouter d'autres)
Début de chaque ligneSélectionnez plusieurs lignes, puis Alt+M pour placer un curseur au début de chaque ligne sélectionnée (style bloc vertical)
Ligne par ligneAlt+Shift+Haut / Alt+Shift+Bas pour ajouter un curseur au-dessus ou en dessous

Ces raccourcis sont votre marche arrière. Le plus utile au quotidien est Alt+X : quand vous ajoutez des curseurs avec Alt+N et que la prochaine occurrence ne doit pas être modifiée, il la saute et positionne le curseur suivant sur celle d'après. Sans lui, il faut sortir du mode multi-curseurs et tout recommencer. Alt+P retire le dernier curseur posé, ce qui corrige un Alt+N de trop sans perdre les précédents.

RaccourciAction
Alt+PRetirer le dernier curseur ajouté
Alt+CRetirer tous les curseurs supplémentaires
Alt+XIgnorer l'occurrence courante et passer à la suivante
EscRevenir à un seul curseur

Situation : vous avez un script Python où la variable serveur_ip apparaît 6 fois, et vous voulez la renommer en server_address.

  1. Sélectionnez le mot serveur_ip (double-clic).

  2. Appuyez sur Alt+N 5 fois pour ajouter un curseur sur chaque occurrence suivante. À chaque pression, un nouveau curseur apparaît sur l'occurrence suivante de serveur_ip. Utilisez Alt+X pour sauter une occurrence sans y placer de curseur.

  3. Tapez server_address. Les 6 occurrences sont remplacées simultanément.

  4. Appuyez sur Esc pour revenir à un seul curseur.

Multi-curseurs ajoutés un par un avec Alt+N sur les occurrences de serveur_ip dans un fichier Python

C'est considérablement plus rapide qu'un chercher-remplacer, surtout quand vous voulez vérifier visuellement chaque occurrence avant de la modifier.

Situation : vous avez une liste de serveurs et vous voulez transformer les 5 premières lignes en éléments d'une liste YAML, d'un coup.

  1. Sélectionnez les 5 lignes à modifier (avec Shift+Flèche bas).

  2. Appuyez sur Alt+M. Un curseur apparaît au début de chaque ligne sélectionnée.

  3. Tapez le préfixe souhaité (par exemple -). Le texte s'insère au début de chaque ligne simultanément.

  4. Appuyez sur Esc pour revenir à un seul curseur.

Alt+M est idéal pour l'édition en colonne (ajouter un préfixe, aligner du texte, commenter plusieurs lignes).

Les réglages par défaut conviennent pour dépanner, mais deux d'entre eux méritent d'être changés dès la première utilisation sérieuse : l'usage des espaces plutôt que des tabulations (tabstospaces vaut false par défaut), et la sauvegarde de l'historique d'annulation.

La configuration de micro se trouve dans ~/.config/micro/settings.json. Chaque option modifiée avec la commande set est automatiquement sauvegardée dans ce fichier. Vous pouvez aussi l'éditer directement : le format JSON se versionne et se partage facilement entre machines.

Voici une configuration de départ recommandée pour un usage DevOps :

{
"autoindent": true,
"colorscheme": "gruvbox",
"cursorline": true,
"diffgutter": true,
"hlsearch": true,
"hltrailingws": true,
"mouse": true,
"rmtrailingws": true,
"ruler": true,
"savecursor": true,
"saveundo": true,
"scrollbar": true,
"scrollmargin": 5,
"softwrap": true,
"tabsize": 4,
"tabstospaces": true,
"wordwrap": true
}

Explication des options clés :

OptionValeurCe qu'elle fait
diffguttertrueAffiche les marqueurs +/~/- de diff Git dans la gouttière
hltrailingwstrueSurligne les espaces en fin de ligne, très utile pour le YAML
rmtrailingwstrueSupprime automatiquement les espaces en fin de ligne à la sauvegarde
savecursortrueMémorise la position du curseur entre les sessions
saveundotrueConserve l'historique d'annulation même après fermeture (persistent undo)
scrollbartrueAffiche une barre de défilement sur le côté
softwraptrueRetour à la ligne automatique pour les lignes longues
tabstospacestrueInsère des espaces au lieu de tabulations (recommandé pour YAML, Python)

L'option diffgutter est la plus visible à l'usage : dès que le fichier est suivi par Git, la gouttière de gauche marque chaque ligne ajoutée, modifiée ou supprimée, sans quitter l'éditeur. Elle vaut false par défaut, d'où l'intérêt de l'activer dans une configuration de départ.

Marqueurs de diff Git dans la gouttière de micro : + pour les ajouts, ~ pour les modifications

Micro permet d'appliquer des réglages différents selon le type de fichier. C'est très pratique car un fichier YAML utilise 2 espaces d'indentation alors qu'un fichier Python en utilise 4.

Ajoutez ces sections dans votre settings.json :

{
"ft:yaml": {
"tabsize": 2
},
"ft:python": {
"tabsize": 4,
"tabstospaces": true
},
"ft:go": {
"tabstospaces": false,
"tabsize": 4
},
"ft:markdown": {
"softwrap": true,
"wordwrap": true
},
"*.yml": {
"tabsize": 2
}
}

La syntaxe ft:langage cible les fichiers par type détecté, et *.extension cible par glob (motif de nom de fichier). Les deux fonctionnent, mais ft: est plus fiable car il utilise la détection automatique de micro, qui reconnaît aussi un fichier sans extension.

Micro propose plusieurs thèmes de couleurs intégrés. Changez de thème avec :

set colorscheme gruvbox

Les thèmes disponibles par défaut dépendent du support couleur de votre terminal. Le thème par défaut s'appelle default, et il se contente d'inclure monokai :

CatégorieThèmes disponibles
256 couleurs (recommandé)monokai (défaut), gruvbox, zenburn, darcula, twilight, railscast, bubblegum
16 couleurssimple, solarized, cmc-16, geany
True color (24 bits)solarized-tc, atom-dark, gruvbox-tc, material-tc, cmc-tc

Micro avec le thème Gruvbox appliqué sur un fichier YAML, tons chauds et coloration riche

Le choix se fait par élimination, en partant des capacités de votre terminal. La plupart des terminaux modernes gèrent les 256 couleurs : commencez donc par gruvbox ou monokai. Si les couleurs paraissent délavées ou fausses, repliez-vous sur simple, qui n'utilise que les 16 couleurs de base et fonctionne partout, y compris sur une console série. À l'inverse, si votre terminal annonce le true color (24 bits), les thèmes suffixés -tc comme gruvbox-tc rendent les nuances les plus fidèles.

Les raccourcis se configurent dans ~/.config/micro/bindings.json. Chaque entrée associe une combinaison de touches à une action : un nom d'action interne comme Save, ou une commande préfixée par command:.

Par exemple, pour ajouter des raccourcis personnalisés :

{
"Alt-s": "Save,Quit",
"Ctrl-r": "command-edit:replace ",
"F5": "command:term"
}

Ce fichier ajoute trois raccourcis :

  • Alt+S : sauvegarde et quitte en une seule action
  • Ctrl+R : ouvre directement la commande de remplacement, à la place de l'action par défaut ToggleRuler (afficher ou masquer les numéros de ligne)
  • F5 : ouvre un terminal intégré

Le préfixe command: est obligatoire pour lancer une commande de la barre : une entrée "F5": "term" est refusée au démarrage avec le message Error in bindings: action term does not exist. Le préfixe command-edit: pré-remplit la barre sans valider, ce qui laisse saisir les arguments.

Pour voir quelle action est associée à une touche, utilisez la commande :

showkey Ctrl-c

Une touche n'est pas limitée à une seule action : trois séparateurs permettent de les chaîner, et c'est ce mécanisme qui explique le comportement par défaut de micro. La virgule , exécute toujours l'action suivante, la barre verticale | ne l'exécute que si la précédente a échoué, et l'esperluette & ne l'exécute que si la précédente a réussi. C'est ainsi que la touche Tab est câblée par défaut sur Autocomplete|IndentSelection|InsertTab : l'éditeur tente d'abord l'autocomplétion, se rabat sur l'indentation de la sélection si elle échoue, et n'insère une tabulation qu'en dernier recours. Cette chaîne est aussi le premier endroit à regarder quand une touche « ne fait pas ce qu'elle devrait ».

Les macros permettent d'enregistrer une séquence d'actions et de la rejouer. Le fonctionnement est identique au concept de macros dans d'autres éditeurs, avec un seul enregistrement à la fois.

RaccourciAction
Ctrl+UDémarrer / arrêter l'enregistrement d'une macro
Ctrl+JRejouer la macro enregistrée

Situation : vous avez une liste de noms de serveurs et vous voulez ajouter ssh user@ devant chaque nom.

  1. Placez votre curseur au début de la première ligne.

  2. Appuyez sur Ctrl+U pour démarrer l'enregistrement.

  3. Tapez ssh user@ au début de la ligne.

  4. Appuyez sur Home puis Flèche bas pour aller au début de la ligne suivante.

  5. Appuyez sur Ctrl+U pour arrêter l'enregistrement.

  6. Appuyez sur Ctrl+J autant de fois que nécessaire pour appliquer la macro aux lignes suivantes.

Micro dispose d'un gestionnaire de plugins intégré qui télécharge et installe les plugins depuis un dépôt officiel. Les plugins sont écrits en Lua et étendent les fonctionnalités de l'éditeur.

Ouvrez la barre de commande (Ctrl+E) et tapez :

CommandeCe qu'elle fait
plugin availableListe tous les plugins disponibles
plugin search motRecherche un plugin par mot-clé
plugin install nomInstalle un plugin
plugin remove nomSupprime un plugin
plugin updateMet à jour tous les plugins
plugin listListe les plugins installés

Voici une sélection de plugins utiles pour un usage DevOps :

PluginCe qu'il apporte
filemanagerExplorateur de fichiers en arborescence (comme NERDTree dans Vim)
jumpSauter rapidement à une fonction ou un titre dans le fichier
quoterEntourer une sélection de guillemets ou parenthèses
manipulatorTransformations de texte : majuscules, camelCase, snake_case...
aspellVérification orthographique
wcCompteur de mots et caractères

Pour installer le plugin filemanager par exemple :

plugin install filemanager

Une fois installé, activez l'arborescence avec la commande tree. Vous pouvez aussi lier cette commande à un raccourci dans bindings.json, en choisissant une touche libre : Alt-n est déjà pris par les multi-curseurs.

{
"Alt-t": "command:tree"
}

Plugin filemanager affichant l'arborescence du projet à gauche et le fichier ouvert à droite

Micro est livré avec plusieurs plugins pré-installés que vous utilisez peut-être déjà sans le savoir :

PluginCe qu'il faitActivé par défaut
autocloseFerme automatiquement les parenthèses, guillemets, accoladesOui
commentCommente / décommente la sélection (détecte le langage)Oui
ftoptionsAdapte l'indentation au type de fichierOui
linterAnalyse le code et affiche les erreurs en gouttièreOui
diffIntègre le diff gutter avec GitOui
statusAjoute des infos Git dans la barre de statutOui
literateColoration pour l'outil de programmation lettrée LiterateOui

Pour commenter ou décommenter des lignes, le plugin comment fournit la commande comment, accessible via Ctrl+E, et la lie déjà à deux raccourcis : Alt+/ et Ctrl+_, la séquence que la plupart des émulateurs de terminal envoient quand on tape Ctrl+/. Aucune configuration n'est donc nécessaire ; vérifiez la liaison avec la commande showkey :

showkey Alt-/

Micro embarque une documentation complète accessible directement dans l'éditeur. Appuyez sur Ctrl+G pour ouvrir l'aide principale. Vous pouvez aussi consulter des rubriques spécifiques via la barre de commande :

CommandeRubrique
helpPage d'accueil de l'aide
help keybindingsTous les raccourcis par défaut
help commandsToutes les commandes disponibles
help optionsToutes les options de configuration
help colorsThèmes et coloration syntaxique
help pluginsCréation et gestion des plugins
help defaultkeysListe JSON de tous les raccourcis par défaut

L'aide s'ouvre dans un split horizontal. Fermez-le avec Ctrl+Q quand vous avez terminé.

Sur un écran large, cette disposition horizontale gaspille de la place et tronque votre fichier. L'option helpsplit, qui vaut hsplit par défaut, change le sens du partage, pour que l'aide s'ouvre à droite et laisse le fichier lisible à gauche :

set helpsplit vsplit

La moitié des problèmes listés ici ne viennent pas de micro mais de votre terminal ou de votre session graphique. Avant d'aller plus loin, affichez echo $TERM et echo $LANG : une valeur TERM limitée à xterm explique à elle seule l'absence de couleurs, et un LANG sans UTF-8 explique les caractères accentués illisibles. Les lignes concernant le presse-papier, les raccourcis refusés et le plugin ftoptions sont les seules dont la cause est vraiment interne à l'éditeur.

SymptômeCause probableSolution
Pas de coloration syntaxiqueTerminal ne supporte pas 256 couleursset colorscheme simple
Couleurs étrangesVariable TERM incorrecteexport TERM=xterm-256color dans votre .bashrc
Copier-coller ne fonctionne pas avec l'extérieurOutils clipboard manquantsInstaller xclip (X11) ou wl-clipboard (Wayland)
Les tabulations n'ont pas la bonne tailleOption tabsize incorrecteset tabsize 2 (ou 4 selon vos besoins)
Mes options sont ignorées pour certains fichiersLe plugin ftoptions surcharge les valeursset ftoptions false ou configurez par ft:type
Error in bindings: action … does not exist au démarrageCommande écrite sans préfixe dans bindings.jsonÉcrire command:term et non term
Invalid flag: -al sur un replaceDrapeaux collésLes séparer : -a -l
Le texte ne retourne pas à la lignesoftwrap désactivéset softwrap true
La souris ne fonctionne pasSupport souris désactivéset mouse true
micro: command not foundLe binaire n'est pas dans le PATHsudo install -m 0755 micro /usr/local/bin/micro
Caractères bizarres à l'écranEncodage ou terminal incompatibleVérifier que $TERM et $LANG sont correctement configurés
L'autocomplétion ne se déclenche pasPas assez de contexteAppuyer sur Tab après avoir tapé au moins 2-3 caractères
  • Micro utilise les raccourcis standard (Ctrl+S, Ctrl+C, Ctrl+V, Ctrl+Z), pas de modes à apprendre, pas de mnémoniques à mémoriser.
  • L'installation est instantanée : un seul binaire statique, aucune dépendance, aucune compilation, et une empreinte SHA-256 à vérifier.
  • Le support souris complet (clic, sélection, molette, multi-curseurs) est un atout majeur pour le travail quotidien en terminal.
  • Les multi-curseurs natifs (Alt+N pour les occurrences, Alt+M pour l'édition en colonne, Ctrl+Clic à la souris) permettent de modifier plusieurs endroits simultanément, un gain de temps considérable.
  • La configuration se fait en JSON (settings.json, bindings.json), facile à lire, à versionner et à partager ; une commande s'y lie avec le préfixe command:.
  • Le gestionnaire de plugins intégré installe des extensions en une commande (plugin install nom).
  • Le terminal intégré (term) permet d'exécuter des commandes sans quitter l'éditeur.
  • Pour la coloration syntaxique, micro supporte plus de 130 langages sans configuration supplémentaire.

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn