jEdit
jEdit permet d'éditer des fichiers textes, et est très commode pour faire de la programmation, quelque soit le langage utilisé (même xml/html).
Il existe un très grand nombre de modes d'édition : pour un fichier donné le mode est sélectionné automatiquement à partir de l'extension.
jEdit dispose de la coloration syntaxique et de l'indentation automatique (les deux étant configurables).
Il est possible d'éditer plusieurs textes simultanément, soit dans plusieurs fenêtres, soit dans plusieurs zones de la fenêtre.
L'ergonomie du logiciel est excellente, le système de menus relativement standard, permet à l'utilisateur novice de démarrer dans de bonnes conditions.
On peut imprimer à partir de jEdit (soit l'intégralité du texte, soit la sélection uniquement).
Le chercher-remplacer est assez bien développé, il offre les possibilités suivantes :
- Recherche vers l'avant/arrière, en ignorant ou pas la casse, utilisation d'expressions régulières
- Recherche dans le buffer seul ou dans tous les buffers ouverts
- Possibilité de rappeler les dernières opérations de recherche-remplacement
Multiplateforme:
Ecrit en java, jEdit s'installe partout, le fonctionnement est rigoureusement identique sur toutes les plateformes (j'ai testé gnu/linux et microsoft windows).
Plugins
Il existe de très nombreux plugins permettant d'étendre les fonctionnalités, très simples à installer. Un système de gestion des dépendances provoque l'installation automatique de certains plugins lorsque c'est nécessaire.
Parmi ceux-ci, les plugins suivants me semblent intéressants :
- Sessions, permet d'ouvrir ou fermer un ensemble de fichiers en une seule commande (notion de "projet" dans d'autres logiciels)
- JDiffPlugin permet de comparer deux buffers ouverts. Bien pratique, mais pas aussi puissant que la fonctionnalité équivalente d'emacs ou qu'un outil comme tkdiff
- JTidyPlugin très utile pour éditer des fichiers html : un système de complétion automatique des balises facilite grandement l'édition de ces fichiers, en particulier on voit immédiatement quelles sont les balises ouvertes.
- Code2HTML permet de lire un buffer ouvert, par exemple en C ou en perl, et génère du code html permettant d'afficher le programme en html avec les colorations syntaxiques.
- BufferTabs crée des onglets, permettant de passer aisément d'un buffer ouvert à l'autre.
- FTP permet d'ouvrir des fichiers sur une machine distante en utilisant les protocoles ftp ou sftp. Pour peu que la connexion soit de bonne qualité, on travaille exactement comme si on était en local ou sur un volume nfs.
- Il existe aussi tout un ensemble de plugins facilitant le traitement des fichiers xml (validateur, manipulation xslt, requêtes xQuery, etc.), plugins accessibles à l'url http://plugins.jedit.org/list.php?category=4.
Pour installer un plugin, il suffit d'ouvrir le plugin manager, de cliquer sur l'onglet "install" et de cocher le plugin à installer. Celui-ci est automatiquement téléchargé et installé. Certains plugins demandent à ce que jEdit soit redémarré, mais d'autres plugins sont immédiatement opérationnels. Il existe une option permettant d'installer tous les plugins d'un coup, mais je ne la recommande pas : en effet, ils sont très nombreux et parfois redondants... et pas tous utiles !
Il est très facile d’écrire des macros pour jEdit et d'automatiser ainsi des tâches complexes sur de gros volumes de fichiers. On peut pour cela utiliser la fonction d’enregistrement de tâches.
Tout fichier texte peut être édité avec ce logiciel.
J'utilise jEdit quotidiennement toute la journée pour mon travail de développement (c++, html, perl, javascript,..). J'ai conçu plusieurs sites web en utilisant jEdit avec son plugin html.
Son installation est très simple sur tous les environnements. Enfin, signalons que je ne l'ai (presque) jamais vu planter...
Pour les utilisateurs de systèmes multiples, JEdit peut s'avérer une excellente passerelle pour l'édition de fichiers depuis plusieurs systèmes (linux - windows par exemple). Un exemple est l'utilisation de JEdit comme Editeur LaTeX, qui permet aux utilisateurs de travailler avec leur environnement TeX sous linux (latex) comme sous windows (miktex).
- On ne peut pas ouvrir une page en lecture seule
- Quelques soucis d'indentation en mode perl (mais jEdit n'est pas le seul dans ce cas...)
- En mode html, l'indentation n'est pas automatique : il faut indenter à la main, ensuite les lignes suivantes s'alignent automatiquement. Cela n'est pas aussi sympathique qu'en mode programmation (perl, C, etc.)
- Il n'est pas possible de déboguer à l'intérieur de jEdit, comme on le fait par exemple avec emacs.