Alors que la plupart des gens utilisent depuis longtemps des éditeurs d’écran comme nano ou Vim sous Linux, il existe encore un vestige de l’époque des télétypes : ex, un éditeur de ligne. Bien qu’il soit très ancien, il a encore quelques utilités.
Qu’est-ce que ex ?
ex est un éditeur de texte écrit par Bill Joy, un des principaux développeurs BSD, qui a également écrit l’éditeur original vi. Les deux éditeurs ont une relation étroite, comme vous le verrez plus tard.
ex est un éditeur de ligne, ce à quoi il ressemble. C’est un éditeur de texte qui travaille sur une ligne à la fois, contrairement aux éditeurs de texte modernes qui fonctionnent sur des tampons plein écran.
Les éditeurs de texte étaient principalement utilisés lorsque la plupart des gens utilisaient des terminaux d’impression, également connus sous le nom de téléimprimeurs ou de télétypes, pour interagir avec un ordinateur. Comme ces appareils imprimaient sur papier, il n’était pas pratique d’imprimer un fichier entier juste pour modifier quelques lignes. Ces appareils ont également eu une influence majeure sur la longueur des commandes Linux.
Lorsque les terminaux vidéo sont devenus populaires, de nombreuses personnes sont passées aux éditeurs d’écran parce qu’elles pouvaient voir l’ensemble du fichier en une seule fois. La plupart des utilisateurs ont trouvé cela bien plus pratique que les anciens éditeurs de ligne, et ils sont restés avec eux lors de la transition des terminaux connectés à un mini-ordinateur ou à un ordinateur central vers des ordinateurs de bureau utilisant des émulateurs de terminal et des interfaces graphiques.
Les éditeurs de ligne n’ont jamais disparu. MS-DOS était même livré avec un éditeur, Edlin, qui était le seul éditeur fourni par Microsoft avec le système jusqu’à l’Éditeur MS-DOS. Vous pouvez toujours utiliser les éditeurs de ligne pour des éditions rapides ainsi que pour des scripts, c’est pourquoi ils sont restés sur les systèmes Linux modernes.
Démarrer ex sur Linux
Démarrer ex est simple. Il suffit de l’appeler en ligne de commande avec :
ex file
Vous verrez un écran vide avec un deux points (:). Il ressemble au mode commande de Vim.
Vous pouvez également envoyer un script à ex. Vous feriez cela avec ex, un dash (–), puis le nom du fichier à éditer, suivi du fichier script redirigé en entrée standard.
Par exemple :
ex - file < script
Impression de lignes avec ex
Pour savoir où vous vous trouvez dans le fichier, vous devez imprimer la ligne ou le numéro de ligne. Pour imprimer la ligne, utilisez la commande :p commande.
Pour imprimer le numéro de ligne, utilisez la commande := (signe égal).
Pour imprimer une série de lignes, utilisez la ligne de départ, une virgule, puis la ligne d’arrivée. Par exemple, pour imprimer les lignes entre 3 et 6 :
:3,6
Editer des lignes avec ex sous Linux
Vous pouvez également ajouter du texte aux fichiers. Pour insérer une ligne, utilisez la commande :insert ou :i suivie du texte que vous souhaitez ajouter.
Par exemple :
:i some text
Pour supprimer la ligne en cours, utilisez la commande :delete ou :d commande.
Vous pouvez déplacer une ligne vers une autre ligne avec la commande :déplacer ou :m commande.
Rechercher et remplacer du texte par ex
La puissance d’ex réside dans ses commandes de recherche et de remplacement. Pour effectuer une recherche et un remplacement, il suffit d’utiliser s/ancien/nouveau/, similaire à sed, où « ancien« représente le texte que vous souhaitez modifier et « nouveau« représente ce en quoi vous voulez le changer.
Pour effectuer une modification globale dans un fichier, faites précéder la commande de l’attribut pourcentage (%) et ajouter un caractère /g:
%s/old/new/g
Passer à Vim
Si vous avez remarqué que les commandes ressemblent beaucoup à celles de Vim en mode commande, il y a une bonne raison à cela. ex est la version éditeur de ligne de Vim. Les éditeurs originaux vi et ex ont tous deux été écrits par Bill Joy à l’UC Berkeley dans les années 1970. Les terminaux d’impression et donc les éditeurs de ligne étaient encore utilisés assez fréquemment à l’époque, en particulier pour les consoles système.
Il est facile de passer à Vim, et un éditeur plein écran est plus utile pour l’édition interactive. Pour ce faire, il suffit de lancer la commande visuelle :
:visual
Vous pouvez désormais utiliser ex sur votre PC Linux
Bien qu’ex ait été largement supplanté par les éditeurs d’écran, vous pouvez toujours l’utiliser en cas de besoin. Vous pouvez insérer et supprimer du texte, ainsi qu’effectuer des opérations de recherche et de remplacement.
ex est également lié au plus populaire Vim. Il existe d’autres éditeurs de texte Linux basés sur le terminal qui ne font pas l’objet d’autant d’attention.