Ox Editor - Un éditeur de code dans le terminal
Si vous êtes sous Linux, macOS ou Windows WSL (donc Linux) et que vous cherchez éditeur de code à utiliser dans un terminal qui dépote, j’ai sûrement ce qu’il vous faut.
Il s’agit de Ox Editor, un IDE développé en Rust qui permet d’accompagner les développeurs dans l’expression de leur labeur, à l’aide de fonctionnalités bien pensées pour leur simplifier la vie.
Ox reprend les caractéristiques que nous aimons tous de certains éditeurs bien connus comme Vim ou Nano. Voici ce qu’explique son développeur sur sa page :
Vim : Vim fournit un système de plugin pour y ajouter des fonctionnalités, car il est très minimal et ne fournit que des outils d’édition de texte de base par défaut. Il est très complet et possède son propre langage de programmation pour la configuration et l’écriture de plugins. Il a une courbe d’apprentissage rapide, car il est un éditeur de texte “modal”, ayant des modes spéciaux pour l’édition de texte. Ox est plus facile à utiliser que Vim parce qu’il ne possède pas de modes où le clavier est réorienté, mais il reprend l’idée d’être un éditeur uniquement basé sur le clavier et de pouvoir agir comme un IDE après une certaine configuration.
Nano : Nano est un éditeur très simple à appréhender grâce à ses raccourcis clavier intuitifs tels que Ctrl+S pour sauvegarder et Ctrl+ ? pour le menu d’aide, etc. Ox a pris l’idée des raccourcis clavier de cet éditeur, ils sont simples à retenir, Ctrl+F pour “Find”, Ctrl+Q pour “Quit”, ce qui signifie que Ox n’a pas une courbe d’apprentissage aussi dure.
Micro : Micro a un système de plugin qui est programmé avec un langage appelé Lua, cependant je ne peux pas trouver de plugin à jour pour ce système et il manque des fonctionnalités telles qu’un arbre de fichiers. C’est Micro qui m’a inspiré l’idée d’ajouter une fonctionnalité de souris et d’autres caractéristiques.
Emacs : Emacs est toujours activement utilisé aujourd’hui en raison de sa liberté de modifier et de changer le code source. Ox a pris l’idée de la personnalisation et de l’extensibilité d’Emacs et a créé un système de configuration où vous pouvez changer les couleurs et l’apparence de l’éditeur.
Xi : Xi est également écrit en Rust mais est purement un backend pour le moment, j’ai décidé de faire d’Ox à la fois un frontend et un backend, car Xi a de nombreux frontends, mais la plupart d’entre eux sont cassés et il manque beaucoup de fonctionnalités.
Kiro : Kiro est un éditeur de texte étonnant écrit en Rust et qui ajoute des fonctionnalités telles que le support Unicode, une meilleure palette de couleurs et des petites choses comme le redimensionnement. Ox a repris les idées d’amélioration de Kiro, mais les a mises en œuvre différemment. Le code source de Kiro semble également être assez avancé dans certains domaines, j’ai donc décidé de garder Ox aussi simple que possible.
Pour installer Ox Editor, vous aurez besoin de Cargo (Rust oblige). Lancez ensuite la commande suivante sous Linux :
cargo install --git https://github.com/curlpipe/ox
Pour les gens qui ont la chance d’être équipés d’un Mac, vous pouvez utiliser brew :
brew install ox
Ensuite pour lancer la bête, tapez simple “ox” dans votre terminal. Vous pouvez faire suivre la commande d’un chemin vers le fichier que vous voulez ouvrir :
ox /chemin/vers/fichier
Après au niveau des commandes, vous pouvez utiliser :
PageUp - Aller au début du document
PageDown - Aller au bas du document
Home (Début) - Aller au début de la ligne actuelle
End (Fin) - Aller à la fin de la ligne actuelle
Ensuite vous pouvez écrire votre code ou votre texte. Il y a bien sûr quelques raccourcis clavier à connaître, que je vous livre maintenant sans plus tarder :
- Ctrl + Q - Quitte l’onglet en cours ou l’éditeur si un seul onglet est ouvert.
- Ctrl + S - Enregistre le fichier ouvert sur le disque.
- Ctrl + W - Vous demande un nom de fichier et l’enregistre sur le disque sous ce nom de fichier.
- Ctrl + P - Enregistre tous les fichiers actuellement ouverts sur le disque.
- Ctrl + N - Crée un nouvel onglet avec un document vierge.
- Ctrl + O - Vous demande un fichier et ouvre ce fichier dans un nouvel onglet.
- Ctrl + F - Recherche dans le document n’importe quelle chaîne de caractère. Vous pouvez appuyer sur ↑ et ← pour déplacer le curseur sur l’occurrence précédente de la requête et sur ↓ et → pour passer à l’occurrence suivante de la requête. Appuyez sur “Entrée” pour annuler la recherche à la position actuelle du curseur ou sur “Echap” pour annuler la recherche et revenir à l’emplacement initial du curseur. Note : cela vous permet d’utiliser des expressions régulières.
- Ctrl + U - Annule votre dernière action. Les modifications sont enregistrées dans la pile d’annulations chaque fois que vous appuyez sur la barre d’espacement, que vous créez / détruisez une nouvelle ligne et lorsqu’il n’y a plus d’activité après un certain temps, ce qui peut être utilisé pour capturer des points où vous faites une pause pour réfléchir ou prendre un café etc…
- Ctrl + Y - Refait votre dernière action. Les modifications sont enregistrées dans la pile d’annulations chaque fois que vous appuyez sur la barre d’espacement, créez / détruisez une nouvelle ligne et lorsqu’il n’y a pas d’activité après un certain temps qui peut être utilisé pour capturer des points où vous faites une pause pour réfléchir ou prendre un café etc…
- Ctrl + R - Permet de remplacer des occurrences dans le document. Utilise les mêmes raccourcis clavier que la fonction de recherche : ↑ et ← pour déplacer le curseur sur l’occurrence précédente de la requête et ↓ et → pour passer à l’occurrence suivante de la requête. Vous pouvez également appuyer sur “Entrée”, y ou “Espace” pour effectuer l’action de remplacement. Pour quitter le mode de remplacement une fois que vous avez terminé, vous pouvez appuyer sur “Echap” pour annuler et revenir à la position initiale du curseur. Note : cela vous permet d’utiliser des expressions régulières.
- Ctrl + A - Exécute une option de remplacement par lots. Il vous demandera une cible à remplacer et ce par quoi vous voulez la remplacer et remplacera ensuite chaque occurrence du document. Note : cela vous permet d’utiliser des expressions régulières.
- Ctrl + D - Permet de passer à l’onglet précédent.
- Ctrl + H - Permet de passer à l’onglet suivant.
Fastoche non ?
Et évidemment, Ox est personnalisable, il suffit d’aller gratter dans son fichier de conf :
~/.config/ox/ox.ron
.
ou là
$XDG_CONFIG_HOME/ox/ox.ron