Editeurs de texte

Indispensables pour programmer il sont nombreux. Que ce soit sous GNU/Linux ou autre, en maîtriser un pour éditer le code source constitue un avantage certain.

Lequel Choisir?

Ou plutôt: lesquels? Le but est de vous faire prendre conscience que plus vous maîtriserez le code au travers d’un ou plusieurs de ces outils, plus vous serez efficace. C’est aussi vous donner l’envie d’en tester quelques uns en mode console et un en mode graphique.

Libre à vous de faire votre choix. L’important c’est que vous soyez à l’aise tant en mode graphique qu’en mode console.

Ainsi, quel que soit l’environnement, vous saurez toujours créer ou modifier un code source, un fichier de configuration ou encore un simple texte.

Les éditeurs en mode console

Parmis ceux-ci, en voici quatres:

  • nano

  • vim

  • emacs

  • mcedit

Il en existe bien d’autres tous très bien aussi. Alors n’hésitez pas à faire des recherches et à les essayer.

nano, le choix de la simplicité

Nano est parmis les plus simples à utiliser. Conçu pour consommer peu de ressources il propose moins de fonctions que des éditeurs tels que Vim et Emacs. Bien que très épuré il offre des fonctions essentielles qui facilitent l’édition de vos textes et codes sources.

Parmis celles-ci, j’ai retenu:

  • retour automatique à la ligne (wrap)

  • édition simultanée de plusieurs fichiers

  • coloration Syntaxique

  • copier-coller

  • rechercher / remplacer

  • justification de texte logicielle et physique

  • lecture du résultat d’une commande shell

Note

En lisant son aide en ligne Ctrl+G et en suivant de très bons tutoriaux disponibles en ligne vous maîtriserez rapidement nano. Pour vous donner une idée voici comment activer quelques fonctions de bases très pratiques.

retour à la ligne automatique: invoquer nano avec l’opion -r<N> avec <N> le nombre de colonnes de texte maximum par ligne.

$ nano -r80 nom_fichier

Edition simultanée de plusieurs fichier: Il y a deux moyens d’activer ce mode. Tout d’abord en invocant nano avec la liste des noms de fichiers à ouvrir en simultané.

$ nano nom_fichier1 nom_fichier2 . . .  nom_fichierN

Ensuite il est possible d’ouvrir ou créer un nouveau fichier pendant l’édition. Par défaut nano permet de lire un fichier depuis le disque et d’en ajouter le contenu dans le fichier courrant. Pour qu’un nouveau fichier soit ouvert dans un nouveau buffert, il faut basculer dans ce mode en utilisant la combinaison de touches Alt+f. Un message apparaît alors dans le bas de l’écran indiquant le mode dans lequel on vient de basculer.

Ensuite il suffit de faire Ctrl-r pour lire un fichier dans le nouveau buffer, ou proposer un nouveau nom de fichier si c’est une création.

Ensuite la navigation entre les buffers se fait avec les touches Alt+> et Alt+< ou Alt+, et Alt+..

coloration syntaxique: elle est activée par défaut et reconnais plusieurs langages. Si besoin vous pouvez personnaliser les fichiers de configuration pour modifier les couleurs ou encore créer votre propre coloration sytaxique.

copier-coller: les combinaisons de touches ne sont pas habituelles. Et il faut procèder selon les étapes suivantes

  1. Se positionner au début de la zone de texte à copier

  2. Activer la marque de début avec Ctrl-A

  3. Déplacer le curseur jusqu’à la fin de la sélection

  4. Copier le texte avec Shift+Alt+6 ou Couper le texte avec Ctrl+k

  5. Se déplacer à l’endroit où le texte coupé ou copier doit être coller

  6. Coller le texte avec Ctrl+u

rechercher / remplacer: pour rechercher un texte utiliser Ctrl+w pour effectuer un remplacement utiliser Ctrl+Alt+8.

justification de texte logicielle et physique: il y a deux mode de justification de lignes. Logiciel, qui n’affecte que l’écran et physique qui affecte à la fois l’écran et le fichier. Plus précisément, la justification logicielle n’est qu’un effet visuel à l’écran et n’écrit pas de retour à la ligne dans le fichier. Alors que la justification physique écrit un retour à la ligne à la fois à l’écran et dans le fichier.

Pour activer/désactiver la justification logicielle (retour à la ligne automatique plus longues que la largeur de l’écran) utiliser Alt+$. Pour activer/désactiver la justification physique utiliser Alt+L.

Lecture du résultat d’une commande shell: pour ajouter le résultat d’une commande shell, faire Ctrl+r puis Ctrl+x. Le résultat de la commande que vous lui donnez sera inséré comme si vous aviez lu un fichier texte. C’est à dire que selon le mode, soit vous aurez le résultat ajouté dans le fichier en cours ou dans un nouveau buffer.

Pour aller plus loin: il n’y a pas 36 solutions, utilisez nano, faites des tests. Dans tous les cas vous trouverez des fonctionnalités pratiques et des variantes de celle présentées ici. Enfin, sur le site de nano vous trouverez toutes les indications nécessaires pour utiliser ce logiciel au maximum.

Note

Faites des tests vous même, confrontez cet outil à vos besoins. Apprenez comment obtenir ce dont vous avez besoin. Concentrez-vous sur l’essentiel.

Vim, un éditeur pour développer

vim est un clone d’un éditeur de texte vi qui était très répandu dans le monde Unix. D’ailleurs, avant de vous présenter vim, il est primordial de parler de vi. Ceci simplement car ce logiciel est présent sur la quasie totalité des systèmes Unix et a été l’éditeur favori de nombreux hackers jusqu’à l’arrivée d”emacs en 1984.

il est donc judicieux d’en connaître les commandes de base car vous aurez toujours cette alternative que ce soit sous GNU/Linux ou Unix. Je vous invite même à installer et utiliser nvi ou elvis qui sont des réécritures de vi, afin de disposer d’un environnement limité aux commandes essentielles toujours présentes dans vim.

Le fait de manipuler des textes avec les ancêtres de vim va vous permettre de vous rendre compte de toutes les améliorations apportée par vim.

Néamoins, ces anciens éditeurs gardent un avantage précieux: ils nécessitent très peu de mémoire pour fonctionner et prennent peu de place sur le disque. Dumoins, bien moins que vim. En conséquence, ils s’ouvrent plus vite et permettent de travailler avec des machines disposant de peu de ressource tels que des systèmes embarqués.

Bien que j’ai utilisé Emacs pendant plusieurs années, je dois reconnaître que j’ai une préférence pour vim. Enfin, un avantage certain, est qu’il est également disponible en mode graphique. Ainsi, cela vous permet de conserver un outil unique pour votre travail, que vous utilisiez la console ou un bureau graphique, vous disposerez d’un outil unique.

Emacs, un environnement complet

emacs, quand à lui est vraiment une machine de guerre. Son seul défaut, qu’il partage avec vim c’est qu’il est complexe à utiliser. Mais, c’est vraiment un environnement de développement complet. Il dispose de nombreuses fonctions permettant de vous faire gagner du temps et d’accélèrer considérablement les temps de développement.

emacs est l’un des éditeurs de texte les plus puissants et les plus polyvalents.

Conclusion

Pour terminer, je dirais que savoir utiliser nano est certainement un choix judicieux. Et vim quand à lui vous permettra de savoir vous débrouiller dans un environnement de type Unix. Quant à emacs c’est certainement l’outil le plus complet pouvant être personnalisé à l’infini. Même si vim moyennant l’utilisation de plugin permet d’être aussi efficace, emacs reste un outil de développement puissant.

Ces outils restent complexes à utiliser et les éditeurs graphiques, plus modernes vous permettrons d’aller bien plus loin sans avoir à mémoriser tout un tas de raccourcis clavier pour effectuer des actions aussi simples qu’un copier coller.

Donc, pour conclure je dirais que pour un débutant qui n’a pas forcément de temps à consacrer à l’apprentissage de vim ou emacs, le plus simple est d’utiliser nano, et de se concentrer sur les fonctions essentielles de vim et emacs.

Les éditeur en mode graphique

Plus modernes et intuitifs, ces outils sont certainement à privilégier pour un travail quotidien et intense de fichiers source.

De l’éditeur à l’environnement de développement, ils sont tous très efficaces pour travailler.

Voici une liste des outils que je retiendrai ici:

  • visual studio code

  • eclipse

  • netbean

  • codeblocks

  • gedit

  • geany

  • leafpad

  • featerpad

  • Vim

  • Emacs

visual studio code

Franchement c’est un très bel éditeur et il est disponible gratuitement sous Linux comme sous Windows. C’est un très bel éditeur disposant de nombreux plugins. Il est aussi efficace pour travailler avec du code source que de la documentation. Franchement, cet outil vaut le coup. Vous avez aujourd’hui la possibilité de l’installer à travers les dépots “snap” et “flathub” et vous pouvez aussi le télécharger depuis le site Visual Studio Code

eclipse

Plutôt connus pour développer en java, il existe aussi des modules pour développer en C/C++ et d’autres languages. Le site officiel eclipse propose un installateur et vous avez aussi la possibilité de l’installer via les dépots de la plupart des distributions GNU/Linux.

netbean

Lui aussi très utilisé pour programmer en java, il peut aussi être utilisé pour travailler avec du C/C++ et autres langages. Le site officiel de netbean propose des liens de téléchargement et il est aussi proposé dans les paquets de la plupart des distribution GNU/Linux.

Code::Blocks

Code::Blocks est un IDE gratuit en C, C++ et Fortran conçu pour répondre aux besoins les plus exigeants de ses utilisateurs. Il est conçu pour être très extensible et entièrement configurable.

Ce logiciel est disponible via les dépots des distributions Linux et téléchargeable sur le site officiel de Code::Blocks où vous trouverez aussi toutes les instructions pour l’installer.

gedit

gedit est un éditeur de texte simple, facile à utiliser, et très bien pour débuter ou écrire de petits programmes. C’est l’éditeur par défaut de gnome. Il est possible de lui ajouter des modules. Installable via les paquets des distributions GNU/Linux, vous pouvez aussi consulter la page Wiki de gedit pour en apprendre plus.

geany

L’une des principales raisons de l’existence de Geany est le besoin d’une interface graphique décente, légère, multi-plateforme, flexible et puissante. Cet éditeur reste relativement simple et léger à utiliser. Il permet de travailler sur des petits codes sources et des projets de taille moyenne.

Disponible en paquets vous le trouvez aussi sur la page officiel de geany.

leafpad

Editeur très simple, il permet de travailler sur des codes sources ponctuellement. leafpad est disponible via les paquets standards des distributions GNU/Linux et est téléchargeable depuis sa page pricipale leafpad <http://tarot.freeshell.org/leafpad/>_.

featherpad

Parmis les éditeurs de textes les plus simples, il est très bien aussi pour débuter en programmation.

Vim

Vim existe aussi en mode graphique !

Emacs

Emacs aussi est disponible en mode graphique !

Conclusion

Il existe de nombreux éditeurs de textes tous proposant la possibilité d’éditer du code. Vous avez la possibilité d’en choisir un parmis ceux proposés ci-dessus, et aussi d’autres. En effet, la liste des éditeurs proposée ici est loin d’être exhaustive et le mieux est d’en tester plusieurs pour faire votre choix.

Ce qui est important, c’est de disposer d’un outil qui vous permettra de coder sans avoir à apprendre comment utiliser votre éditeur.

Gardez en tête, que coder va vous demander de vous concentrer sur le langage, les bibliothèques et que cela va vous demander de l’énergie. Pour débuter, il va de soit que choisir un éditeur de code simple est judicieux. En effet, cela vous permettra de rester concentré sur votre programme et de ne pas perdre de temps à tenter de manipuler une interface complexe.

De même, pour de petits projets ou programmes, il est peut-être plus judicieux d’utiliser un éditeur de texte simple plutôt qu’un gros IDE, qui risque d’allourdir la charge de travail.

Par contre, dès lors que vous travaillerez sur des projets de plus grande envergure, il est évident que l’usage d’un IDE complexe sera alors incontournable.

Enfin, gardez à l’idée de toujours pouvoir utiliser un petit éditeur de texte en mode terminal, car cela vous permettra de toujours pouvoir éditer des fichiers quel que soit l’environnement dans lequel vous vous trouverez.