Aller au contenu
Administration Linux medium

Éditer avec Micro

30 min de lecture

logo micro

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.

  • 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. 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

Vous devriez voir quelque chose comme Version: 2.0.15.

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.

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.

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.

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. 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 sans rien afficher, term ouvre un shell interactif complet dans un panneau, 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
termOuvre un terminal dans un split
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 shell : sort -n pour un tri numérique, uniq pour déduplonner, jq . pour formater du JSON, etc.

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, puis :

RaccourciAction
Ctrl+NAller à l'occurrence suivante
Ctrl+PAller à l'occurrence précédente
EscFermer la barre de recherche

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

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 activer le drapeau -l, qui désactive l'interprétation regex pour toute la commande.

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

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 vertical, 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+T (puis saisir le chemin) ou Ctrl+Etab fichier.txt
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 un split. C'est très pratique pour exécuter des commandes sans quitter l'éditeur :

Appuyez sur Ctrl+E et tapez :

term

Un terminal interactif s'ouvre dans un nouveau split. Vous pouvez y exécuter des commandes (compiler du code, lancer des tests, vérifier des logs), puis revenir à votre éditeur avec Ctrl+W.

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

Pour fermer ce terminal, tapez exit dans le shell comme vous le feriez ailleurs, ou appuyez deux fois de suite sur Ctrl+Q. La double frappe est nécessaire parce que le premier Ctrl+Q est transmis au shell qui tourne dans le panneau, et non à micro.

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 indenter les 5 premières lignes 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, et la sauvegarde automatique.

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.

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.

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.

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 :

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.

Par exemple, pour ajouter des raccourcis personnalisés :

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

Ce fichier ajoute trois raccourcis :

  • Alt+S : sauvegarde et quitte en une seule action
  • Ctrl+R : ouvre directement la commande de remplacement
  • F5 : ouvre un terminal dans un split

Pour voir quel 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.

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 :

{
"Alt-n": "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

Pour commenter ou décommenter des lignes, le plugin comment propose la commande comment accessible via Ctrl+E, ou vous pouvez le lier à un raccourci :

{
"Ctrl-/": "comment"
}

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 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 et le plugin ftoptions sont les deux 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
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 mv micro /usr/local/bin/
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

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

  • 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.
  • 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.
  • 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.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn