NEdit, l'éditeur universel du monde Unix

ArticleCategory: [Choose a category for your article]

Applications

AuthorImage:[Here we need a little image form you]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in fr Georges Tarbouriech 

AboutTheAuthor:[A small biography about the author]

Georges est un vieil utilisateur d'Unix (commercial ou libre). Il aime beaucoup NEdit et l'utilise sur quatre Unices différents.

Abstract:[Here you write a little summary]

NEdit est un éditeur très convivial et idéal pour le développement. Il est disponible pour la plupart des distributions Unix, qu'il s'agisse de produits commerciaux ou libres.
Cet article n'est qu'une présentation et en aucun cas une étude approfondie de l'outil.

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

Un peu d'histoire

Que serait le monde Unix sans les éditeurs? Même si cette question se pose pour la majorité des OS, une fois de plus, Unix a été un précurseur. Toutefois, n'oublions pas que ces systèmes fonctionnaient à l'origine en mode texte et que la convivialité ne pouvait donc pas être celle que nous connaissons aujourd'hui avec les interfaces graphiques.
Tout cela bien sûr pour en venir à l'incontournable vi, modèle de richesse mais d'un abord pour le moins rébarbatif. vi est à Unix ce que le DOS est à Windows: ils sont inséparables. Avec le temps, vi a évolué vers vim (pour im...proved) ce qui permet maintenant d'effacer le caractère précédant le curseur avec la touche "backspace": une révolution!
Ce n'est pas méchant, simplement un peu ironique et dans tous les cas ça n'enlève rien à ses innombrables caractéristiques. Lorsqu'on commence à utiliser vi, il est préférable d'avoir un manuel à portée de la main pour comprendre son fonctionnement.
Le deuxième poids lourd de la catégorie est l'oeuvre de R. Stallman, le "père" de GNU, sans qui nous ne serions pas là pour partager avec vous les joies du logiciel libre. Il s'agit bien évidemment d'Emacs, plus connu sous le nom de EscapeMetaAltControlShift. En clair, c'est un éditeur réservé aux pieuvres ou à utiliser sur les ordinateurs équipés de pédales.
Sérieusement, c'est un fantastique éditeur mais qui réclame lui-aussi une longue période d'apprentissage. Pour ce qui est de la version graphique, Xemacs, elle est encore plus puissante. C'est carrément le couteau Suisse: Xemacs est un éditeur, un lecteur de news, un navigateur... C'est une véritable usine à gaz. A titre indicatif, la compilation d'Xemacs sous Linux m68k avec un 68030 à 25 Mhz et 16Mo (je sais, il faut être fou) ne dure que 18 heures. Ces deux produits (trois, si l'on considère Xemacs) sont des piliers de la communauté Unix mais ont été portés sur des tas d'autres systèmes. Ce n'est pas par hasard mais bien parce qu'ils étaient (sont) des références.
Depuis, l'Unix libre s'est répandu et les développements ont été multipliés. Il doit exister aujourd'hui plus d'une cinquantaine d'éditeurs.
Alors, pourquoi NEdit?

Introduction

NEdit est disponible à l'adresse: http://nedit.org/

Il existe sous forme de sources à compiler ou de binaires précompilés.
Nombreux sont les utilisateurs d'Unix libres qui ne connaissent pas NEdit, pour une raison très simple: il n'était pas sous licence GPL, jusqu'à ce début d'année. En clair, il ne pouvait pas être intégré aux distributions Linux ou autres NetBSD, FreeBSD...
NEdit était distribué sous licence Fermitools puisqu'il a été développé au Fermi National Accelerator Laboratory. Mais le problème majeur vient du fait qu'il repose sur la bibliothèque Motif qui est un produit commercial.
Théoriquement, sans l'achat de Motif, point de salut.
Heureusement notre propos concerne essentiellement les systèmes libres, et nous avons la chance d'avoir accès à des tonnes de freeware ou de shareware.
Ainsi Motif possède son équivalent gratuit: Lesstif.
Merci Lesstif: la prochaine version de NEdit sera GPL!
La différence entre les versions Motif et Lesstif est encore sensible mais elle devrait se réduire rapidement.
Quelques anomalies existent encore, particulièrement pour ce qui concerne la gestion des clicks de souris, mais vraiment rien de grave. Nous y reviendrons.

Présentation


Variantes

A l'origine NEdit n'était donc distribué que pour les Unix commerciaux, Motif oblige.
Il existe par conséquent des versions Irix (SGI), Solaris (Sun), AIX (IBM), HP-UX, VMS... précompilées avec Motif.
Pour Linux, FreeBSD, NetBSD, le mieux est de télécharger le source et surtout d'installer Lesstif. Celui-ci est disponible a l'adresse:
http://www.lesstif.org

Toutefois, il existe des versions précompilées et liées avec Motif pour les versions de Linux les plus répandues (i386, par exemple).
Si vous possédez une version de Linux plutôt exotique (m68k, par exemple), ou OpenBSD, NetBSD... les versions précompilées sont liées avec Lesstif.

Quelques infos Unix:
NEdit fait partie des distributions Irix. Il existe aussi une version freeware. Si vous installez la version freeware, supprimez la version de base, les deux ne fonctionnant pas très bien ensemble.
Pour Solaris 2.6, téléchargez la version précompilée et liée avec Motif. Dans le cas contraire, il faudra installer les patches fournis par Sun disponibles sur http://www.sun.com.
Les bibliothèques partagées Motif de Solaris sont "buggées" (?) , par conséquent, à vous de choisir la meilleure solution.
Sinon, l'installation est toute simple: vous copiez les exécutables où bon vous semble. Les exécutables, parce qu'en plus de nedit, il existe une version client nommée nc. Cette version autorise l'utilisation de NEdit en client-serveur.

Description

artned.jpg


Window in a window

NEdit est un éditeur en mode graphique, doté d'innombrables fonctionnalités.
Il est entièrement manipulable à la souris, dispose de menus, de raccourcis clavier, de fenêtres de dialogue...
Il est totalement configurable par l'intermédiaire de Préférences accessibles par menu. Ces préférences génèrent un fichier .nedit modifiable manuellement.
Les options de configuration sont très nombreuses. Par exemple, il est possible de définir une coloration syntaxique par langage utilisé. Ce langage peut être choisi parmi une longue liste (C, Fortran, Pascal, HTML...).
Vous pouvez d'ailleurs créer votre propre coloration syntaxique en utilisant les "patterns". Un pattern consiste en une expression régulière correspondant à un style représentant polices et couleurs. Si votre texte correspond à cette expression il s'affichera dans la couleur et la police choisies.
Lorsque vous ouvrez un fichier *.c par exemple, après avoir choisi le langage C, NEdit détermine une coloration spécifique et une indentation rendant la lecture beaucoup plus évidente.
Ce choix peut se faire ponctuellement pour une fenêtre. Il suffit de sélectionner le langage dans le menu Préférences.
Une grande quantité de caractéristiques indispensables est bien évidemment disponible. En vrac citons les inévitables Couper, Copier et Coller, les Chercher et Remplacer, la numérotation des lignes...
Il existe une option intéressante qui autorise la sélection de texte en colonne, afin de le copier et de le coller.
Si vous travaillez avec une souris à trois boutons, vous bénéficiez d'options supplémentaires, telles que la sélection secondaire. Celle-ci remplacera par exemple du texte déjà sélectionné (sélection primaire) sans devoir le couper au préalable.
Autre caractéristique marquante: le remplissage de paragraphe. A l'utilisateur de découvrir ce concept. Pour cela, (comme d'habitude!) il faudra lire la documentation fournie, bien sûr.
Mais NEdit peut faire encore mieux. Il permet par exemple de lancer une commande Shell directement dans une de ses fenêtres. La sortie de la commande s'affiche dans cette fenêtre à la position du curseur.
Il est très facile de créer des macros de manière interactive par exemple. Sinon, NEdit possède son propre langage de macros et il devient alors possible de créer toutes sortes d'outils favorisant l'utilisation, le développement...
NEdit peut aussi s'interfacer avec des environnements de développement, (comme le CaseVision de SGI, par exemple) via nc, l'interface client-serveur.
Toujours pour les programmeurs, la vérification de la correspondance des parenthèses ou autres crochets ouvrants et fermants s'exécute en choisissant une option de menu.
Il offre également la possibilité d'ouvrir automatiquement des fichiers "include".
Si vous ouvrez un fichier source en C, en sélectionnant une ligne du style:
#include "config.h"
et en appelant la rubrique de menu "Open selected", NEdit affichera le fichier "config.h".
NEdit est aussi capable de rechercher des expressions régulières.
N'hésitez pas à visiter le répertoire contrib sur le serveur ftp de fnal ftp://ftp.fnal.gov/pub/nedit ou le répertoire macro de http://www.nedit.org/macro afin d'améliorer encore les capacités de l'éditeur.


Configuration


Comme nous l'avons vu précédemment, la configuration de NEdit s'effectue à partir du menu Préférences. La plupart des options peut se choisir dans ce menu.
Les réglages par défaut possèdent un menu principal et un sous-menu.
Le menu principal s'applique à la fenêtre en cours alors que le sous-menu concerne NEdit dans son ensemble.
Dans le menu principal vous pouvez définir un langage afin de déterminer la coloration syntaxique, l'indentation, le passage à la ligne automatique, les marges, les polices de caractères...
Dans le sous-menu vous bénéficiez d'options supplémentaires telles que la personnalisation de certains menus. Si vous sauvegardez ces réglages, NEdit génère un fichier qui sera lu à chaque ouverture du logiciel.
Tout cela est évident et ne mérite pas un long développement, et ... tout se trouve facilement dans la doc.
Par contre, NEdit autorise une configuration beaucoup plus élaborée par l'intermédiaire des fichiers de configuration de X.
Le fichier créé par la sauvegarde des Préférences est au même format que .Xdefaults ou .Xresources. Vous pouvez donc copier le contenu de ce fichier .nedit directement dans un des fichiers mentionnés ci-dessus.
L'intérêt d'une telle manipulation concerne surtout certains Unix, dans la mesure où elle permet de bénéficier de caractéristiques système dans NEdit. Si votre système ne possède pas de caractéristiques particulières et s'il s'agit d'un système personnel, vous pouvez laisser cette fonctionnalité de côté.
Toutefois, si vous souhaitez modifier des raccourcis clavier, sachez qu'il faudra en passer par là.
Le cas le plus flagrant concerne la touche Delete qui se comporte comme la touche Backspace. Soit, vous essayez de vous habituer à ce comportement, soit vous modifiez le fichier concerné.

Quelques "trucs"

Les versions compilées avec Lesstif peuvent parfois provoquer des comportements bizarres de la souris. Par exemple, il peut devenir difficile de sélectionner un fichier dans la boîte de dialogue. Le remède est simple: remplacez le double-click par un retour chariot.
Un autre petit problème concerne la fenêtre de dialogue d'ouverture de fichiers. Il se peut qu'aucun fichier n'apparaisse dans la fenêtre. A ce moment-là, ajoutez un "/" à la fin du nom du répertoire dans la ligne de filtre.
Autre grand classique: les raccourcis clavier ne fonctionnent pas. Désactivez le verrouillage des majuscules et le verrouillage du pavé numérique et miracle, ça marche... en principe.

Utilisation

NEdit se lance par la commande nedit ou en double-cliquant sur son icône selon le gestionnaire de fenêtres utilisé.
Sa particularité consiste à ouvrir une instance par fichier. Si vous ouvrez dix fichiers, vous lancerez dix fois NEdit. C'est un comportement très classique mais qui finit par être pénible. Personnellement, j'ai la chance d'utiliser un Amiga (si, ça existe!) et cette machine posséde certainement des éditeurs parmi les plus performants. Il est possible d'ouvrir de nombreux fichiers dans la même fenêtre et c'est très pratique.
Maintenant que j'ai réussi à placer l'Amiga dans un article sur Unix, revenons à NEdit.
Son fonctionnement est évident. Rubriques de menu ou raccourcis clavier permettent toutes les manipulations. La souris tient un rôle prépondérant puisque nous sommes dans un environnement graphique et si elle possède trois boutons, c'est encore mieux.
Si vous êtes un inconditionnel des raccourcis clavier, la liste est longue.
Quelques exemples:
Ctrl + Backspace efface le mot précédant le curseur
Ctrl + U efface la ligne si vous êtes à la fin de celle-ci
Ctrl + Delete efface jusqu'à la fin de la ligne
Ctrl + flèche droite déplace le curseur d'un mot vers la droite. La flèche gauche provoque l'inverse.
Ctrl + Retour chariot indente automatiquement la ligne suivante
Vous pouvez dans NEdit définir la taille des fenêtres par défaut, partager la fenêtre en deux parties pour le même fichier. Cette option est pratique pour travailler sur des textes longs par exemple.
La recherche et/ou le remplacement de texte disposent de filtres concernant la casse, par exemple.
Les options de menu "Find again" et "Replace again" permettent de continuer la recherche et/ou le remplacement de la même chaîne de caractères sur tout le document.
Ces options fonctionnent également pour du texte sélectionné, même si ce texte se trouve dans une autre fenêtre, voire d'une autre application, à partir du moment où cette fenêtre est affichée à l'écran.
L'enregistrement d'une macro est aussi très simple. Il suffit de lancer le mode "apprentissage" en sélectionnant "Learn Keystrokes" dans le menu Macro. NEdit va enregistrer alors les frappes de touches et les commandes de menu sélectionnées. Choisir le bouton "Paste learn" de la boîte de dialogue de création de macro collera le résultat dans le corps de la macro.
En cas de "crash" du système (c'est très rare, nous sommes sous Unix...) vous pouvez récupérer votre travail. NEdit duplique en permanence le fichier sur lequel vous travaillez: il suffira de renommer ce fichier pour le retrouver quasiment intact.
Vous disposez aussi d'une aide en ligne très complète.
Bref, la prise en main de l'outil est vraiment facile et c'est certainement le facteur primordial de son choix en plus de ses innombrables possibilités.

Le mot de la fin

Comme pour beaucoup d'applications pléthoriques, chacun choisit en fonction de ses goûts, de ses besoins. NEdit n'est pas forcément l'outil absolu mais il fait partie des très bons.
Il est loin d'être ridicule au milieu des poids-lourds du genre.
Il n'a pas besoin d'énormes ressources tout en étant très performant et encore une fois, convivial.
Si vous venez des mondes MAC, PC ou autres BeOS, AmigaOS, NEdit vous semblera familier.
Le problème de la licence est résolu et Lesstif s'améliore en permanence.
Par conséquent, vous n'êtes pas obligés d'attendre qu'il figure dans les distributions pour l'essayer. Un petit tour vers nedit.org?
Vous verrez, vous ne serez pas déçus.
Nous vivons une époque formidable!