A la découverte de gedit
Le 6 septembre 2008, à 13:44 par Ulhume...

Après avoir migré de KDE à Gnome j'ai longtemps recherché un équivalent à Quanta ou plus généralement à Kate. Après avoir testé pas mal d'environnement plus ou moins correctement intégrés au bureau, j'ai fini par me rabattre sur Blueflish, sans grande conviction, je dois bien l'avouer. Le seule outil que j'avais écarté de mon étude était ce pauvre gedit que je prenais pour un équivalent du simplissime kedit, le "notepad" de kde. Grosse erreur...

Pour les développements "durs", j'utilise et continuerais à utiliser eclipse. Cependant lorsqu'il s'agit de modifier de hacker rapidement de petits projets, coder un bout de script, ou encore d'éditer un billet en HTML, cette plate-forme devient pour le moins contraignante.

A l'époque KDE, j'utilisais le couple Kate/Quantum en préférant souvent Kate pour sa légèreté, son terminal intégré, son navigateur de symboles. Quantum était plus pratiques les pages PHP surtout par son auto-complétion. Gnome ne manque en soit pas de plate-forme de développement mais soit elles sont mal intégrés au bureau (Code::Blocks), soit elle manque des fonctionnalités les plus basiques (à peur prés tous), soit elles rament (Typiquement Geany), soit elles plantent constamment (j'ai nommé Screem). Avec Bluefish, ce fût pour ainsi dire le choix du "moins pire". Pas brillant mais stable, pas très évolué mais rapide.

Et ce n'est que tout dernièrement, que je suis tombé par hasard sur le menu "greffons" des préférences de GEdit. J'ai commencé un peu surpris à en activer quelques uns, puis je me suis rendu compte que les dépôts en contenait encore beaucoup d'autres... Et après quelques temps, parti de ce que e croyais être un simple "notepad", je me suis retrouvé avec un éditeur aussi puissant que Kate et Quantum réunis tout en étant d'une rapidité et d'une stabilité que Quanta et Bluefish n'ont jamais réussis à atteindre.

  • Toute les fonctions d'un éditeur pour développeur y sont : indentation automatique, numérotation des lignes, marge droite, bascule espaces/tabulation, sur-lignage des accolades fermantes.
  • Un très bon support de la coloration syntaxique.
  • La possibilité de changer de thèmes de couleurs, j'aime beaucoup celui appelé oblivion, très reposant.
  • Il ne souffre pas du bug du retour à la ligne particulièrement insupportable sur Bluefish. En effet une longue ligne (typiquement un paragraphe HTML) avec la césure automatique activée, s'étend logiquement sur plusieurs lignes à l'écran. Le souci sur BlueFish est que toute pression sur la touche end entraîne le curseur à la fin de la ligne réelle, soit à la fin du paragraphe...
  • Une véritable auto-complétion rapide et efficace. En fonction du type de code édité (css, php, java, c, etc..), un simple CTRL+ESPACE donne accès à une liste de commande disponibles dans le contexte. Et ce, sans mouliner pendant 3 secondes comme Quanta.
  • Enfin le support ces fameux greffons, et il y en a des dizaines de disponibles....

Historique (tout afficher)
  • v2 - * Ajout des fonctions avancées (2008-10-21 15:13)

Les greffons

En standard gedit est fournit avec un certains nombre de ces extensions. Dans ma distribution (Mandriva), un paquet supplémentaire en rajoute encore plus. Enfin, vous pouvez trouver ce qui vous manque encore ici. Je ne présente ici que ceux qui m'ont permis de retrouver l'aisance que j'avais perdu en quittant KDE.

D'un point de vue général, les greffons s'active dans la boîte des préférences, onglet greffons. Là en sélectionnant une extension, vous pouvez soit l'activer/désactiver, soit, si cela existe, afficher le panneau de configuration.

Correcteur orthographique

Il est fournit en standard et permet la correction syntaxique temps-réel avec colorisation dans le texte et menu contextuel de suggestions. Un grand plus par rapport à BlueFish qui ramène sur cet aspect gedit.

Si comme moi vous avez des problèmes avec les apostrophes, il s'agit à l'évidence d'un problème avec la librairie enchant dans sa dernière version. J'ai recompilé et installé la 1.4.3 et tout est revenu à la normale...

Volet de navigation dans les fichiers

Ajoute un panneau latéral permettant de naviguer dans les fichiers. Rien de bien sorcier mais c'est juste indispensable. Je regrette juste qu'il n'y ait pas un paramétrage pour synchroniser le dossier courant avec celui du document en cours d'édition.

Outils externes

Ce greffon ajoute la gestion des outils externes permettant de lancer des commandes avec possibilité de modifier de manière intelligente le contenu en cours d'édition. Pratique pour lancer des formateurs comme tidy ou tester une page avec navigateurs externes.

Enregistreur de sessions

Permet de faire comme avec FireFox, des sessions des onglets ouverts.

Sélecteur de couleurs

Une outil d'une bêtise ahurissante qui me manquait sur plein d'éditeur offrant la simple possibilité d'insérer une couleur au format HTML via un sélecteur visuel. Le nombre de fois où j'ai du lancer Gimp simplement pour cela...

Volet Terminal

Voilà bien quelque chose qui me manquait de Kate, un simple volet "console" en bas de l'écran d'édition pour lancer des commandes ou tester le script en cours de rédaction.

Extraits de code

Ce greffon à lui tout seul vaut le détours car c'est en réalité lui qui gère l'auto-complétion. Il vous permet par langage d'ajouter une série de fragments de code permettant d'automatiser son écriture. La syntaxe est aussi puissant qu'avec eclipse et permet la rédaction de macros complexe. Par exemple, j'ai un tag perso sous Drupal qui me permet de créer un lien vers une page externe. Il s'écrit <external href="http:// site-externe">le lien</external>. Sous Bluefish je n'ai pas trouvé de moyen d'automatiser cette syntaxe un peu particulière. Avec les extraits de code j'ai peu saisir ceci :

<external href="${1:http://somesite.com/}">${2:$GEDIT_SELECTED_TEXT}</external>

Le premier paramètre, je luis donne une valeur par défaut, et le second se base sur le texte sélectionné au moment d'insérer mon fragment. A cela je peux ajouter soit un mot clef qui sert de déclencheur d'insertion en tapant déclencheur suivi de la touche Tab, ou encore le début d'un déclencheur, suivi de CTRL-ESPACE pour avoir la liste. Il est aussi possible d'ajouter en plus un raccourci clavier.

Navigateur de symboles

Celui là, il faut se l'installer à la mano mais c'est très bien explique sur le site de son auteur. Il permet d'ajouter un volet qui affiche la liste des symboles détectés dans le document en cours d'édition. Indispensable pour une navigation rapide dans le code.

Fonctions avancées

Sauvegarde distante

Il est possible via GIO d'accéder à des systèmes de fichiers distants (webdav, ftp, sftp, smb, etc.). Cela peut se faire soit en utilisant Fichier/Ouvrir un emplacement, avec Nautilus en naviguant sur un serveur et en faisant un glisser-déposer sur gedit, ou enfin par le volet gauche de navigation (si le greffon est activé) en passant par les signet définis dans Nautilus.

Dans tous les cas, le fichier distant devrait être lu et édité sans problème. Le souci est au niveau de la sauvegarde. En effet, sauver un fichier distant marche très bien avec les protocoles sftp ou encore smb, mais pas du tout avec ftp. Ce n'est pas un bug, c'est une option...

Pour autoriser la sauvegarde des fichiers via ftp, il faut d'abord aller dans le menu Gnome Système/Préférences/Avancées/Éditeur de configuration. Là il faut rechercher le chemin /apps/gedit-2/preferences/editor/save. Là vous trouvez une variable writable_vfs_schemes contenant une liste de protocoles à laquelle il manque... ftp. Double-cliquez dessus et ajoutez ftp. Validez et relancez gedit. Vous devriez maintenant pouvoir sauvegarder vos fichiers sur un serveur FTP sans problèmes.

Sauvegarde automatique

Ne fermez pas l'éditeur de configuration car il y a une autre option intéressante dans ce dossier save. Il s'agit de la sauvegarde automatique que vous pouvez activer en cochant auto_save et éventuellement en spécifiant la valeur auto_save_interval pour définir un temps de sauvegarde en minutes. Il est aussi possible ici de ne pas créer de copies de sauvegarde (ces fichiers terminés par des ~) en décochant create_backup_copy.

Encodage des caractères

Un éditeur de texte est souvent pratique pour gérer les problèmes d'encodage. Avec gedit, il est possible de forcer la lecture dans un format précis dans la boite de dialogue d'ouverture d'un fichier par la liste déroulante Encodage des caractères (Par défaut gedit détecte automatiquement l'encodage).

Mais plus intéressant, il est aussi possible lors de la sauvegarde de spécifier dans la boite enregistrer un encodage des caractères différent de celui du fichier d'origine et ce toujours par la liste Encodage des caractères.

Maintenant cette liste est étrangement réduite. Si par exemple vous avez besoin de sauver un texte UTF-8 en ISO-8859-3, il va vous manquer quelque chose. Pour arranger cela, utilisez encore l'éditeur de configuration mais allez cette fois dans le dossier /apps/gedit-2/preferences/encodings. Vous avez alors deux listes, la première auto_detected indique les encodages que gedit va chercher à trouver automatiquement en lecture d'un fichier, la seconde, shown_in_menu indique les encodages qui apparaîtront en plus d'UTF-8 dans la liste déroulante des boîtes de dialogue.

Le bug du MCP

Droop a atiré mon attention sur le problème de non conformité du comportement click central avec gedit. Traditionnellement, une sélection sous X11 stocke le texte dans un tampon accessible ensuite par un simple click-central. Or avec gedit, cela ne fonction que si le texte reste sélectionné. Ce problème est un bug référencé qui semble déclencher la passion entre les "geek" et les "adorateurs de la grand-mère".

En attendant que tout ce beau monde trouve une solution et que cette solution se retrouve, comme d'hab, dans gconf-edit, le contournement simple est d'utiliser l'applette Glipper en sélectionnant dans les préférences Select - Mark/middle mouse button.

Conclusion

En pensant que gedit était un simple équivalent à kedit, j'étais bien loin du compte. Cet outil est en fait ultra-représentatif de la raison pour laquelle je suis passé à Gnome : simple, rapide, stable, facile à compiler soit même, extensible facilement. Et aujourd'hui, avec l'ensemble des extensions que j'ai rajouté, je dispose d'un éditeur qui, au regard de mon usage évidement, est totalement équivalent à Kate ou Quanta en était tellement plus léger.

Commentaires

Droop , le 6 September, 2008 - 14:07

Salut

Personnellement je n'utilise pas gédit.
J'avais bien remarquer depuis longtemps tous ces greffons qui permettaient de facilemnet le configurer pour en faire un outils très puissant. De plus il est très bien intégrer au bureau et à un bon "look 'n feel" à mon goût.

Cependant, c'est bête à dire, mais je ne supporte pas de l'utiliser simplement pcq il gère très mal le "copier-coller linux".
J'avoue (parent de geek, bouchez les oreilles de vos enfant) être un adepte de la souris.
Cepnedant dans gedit, si je le déselectionne un texte, il n'est plus dans le buffer du clic de molette.
Ayant tellement l'habitude de procédez ainsi ce petit détail réduit grandement ma productiviter (on ne peut pas par exemple copier coller plusieurs foisde site un meme texte, il faut a chaque fois le resellectionner) et cela m'insupporte.
Du coup j'utilise geany et j'ai lgtps arrété d'espérer que cette caractéristique disparaitra, pcq c vrai que j'aurai bien voulu me réconcilier avec gedit...

Un autre détails moins important (enfin ca dépend...) est que, sur ubuntu en tout cas, par défaut il ne fait pas de sauvegarde automatique! pourquoi? est ce que c'est pour que les copines de geeks non avertis (et qui n'ont dc pas ce reflexe vital d'activer la sauvegarde automatiquement a la minute ou le systeme vient d'etre installé!) viennent leur pleurez dans les bras pcq, suite à une fausse manip quelconque ou une panne du portable, elles ont perdu TOUT leur travail sans aucun moyen de le retrouver? je ne sais pas... et je crios que le débat restera encore ouvert un moment..

si quelqu'un connait la justification de ce choix concernant le copier coller (qui est le mm dans tomboy) je suis intéressé.
Je le serai encore plus si on pouvait m'expliquer comment le désactiver! c qd mm dommage de ne pouvoir utiliser un outil performant et intégrer de base a cause de si petits détails..

@bientôt

Essaouera , le 6 September, 2008 - 14:12

Juste pour info, tu as essayé openkomodo dans le lot?

Merci pour tous ces articles toujours aussi bien rédigés!

Ricard , le 6 September, 2008 - 15:56

Essaie Geany, c'est encore plus mieux que Gedit. Wink

Ulhume, le 6 September, 2008 - 16:04

@drop My 2 cents opinion, la raison en est qu'ils se base sur la sélection pour coller via le bouton-centre plutôt que systématique copier ce qui est sélectionné comme le fait par exemple la console. Ceci dit, si tu as quelques compétences en développement, vu la simplicité des sources et une fois que l'on a repéré où la sélection est hooké, il ne reste plus grand chose à faire pour remplir avec le presse papier.

Pour la sauvegarde automatique, bof, je ne suis pas fan du tout. Et si je ne suis pas fan, c'est sûrement la raison pour laquelle la fonction n'existe pas Wink En effet, j'ai remarqué que lorsque d'autres transforme les fonctionnalités non-unanimes en options, sous Gnome, on les vire sur l'hôtel de la "grand mère" Wink J'ai beau aimé cet environnement, je suis assez d'accord avec Torvald dés fois...

Ulhume, le 6 September, 2008 - 16:07

@Essaouera Non car pour l'instant je ne l'ai pas dans les dépôts et comme Eclipse me convient très bien, je n'ai pas éprouvé le besoin de partir à la pêche pour un autre IDE.

Ulhume, le 6 September, 2008 - 16:08

@Ricard Je l'ai testé comme je le disais plus haut il me semble, et il est beaucoup trop lent à mon goût. J'ai même testé de m'en compiler ma version sans plus de succès.

Essaouera , le 6 September, 2008 - 16:17

Ok. Pour info, c'est un intermédiaire entre gedit et eclipse.
Je viens de tester gedit pour mon projet et il me manque la possibilité de faire une recherche d'un mot dans l'arborescence des fichiers en 2 click. Il faudra que je regarde un peu mieux ca car openkomodo ne gère pas très bien la modification de l'arborescence en direct (renommage, déplacement d'un fichier par ex depuis openkomodo).

Ricard , le 6 September, 2008 - 19:39

Ouupsss, désolé, j'ai lu en diagonale....

advaya, le 6 September, 2008 - 20:11

Ahhh merci beaucoup Smiling

Jusqu'ici j'utilisais Kile pour tout ce qui est Latex (on va dire que c'est un impératif boulot Wink ). Ce dernier gère tout un tas de balisage, mais pas les sessions d'onglets et autres goodies, donc j'utilisais aussi easy-eclipse pour les codes html/php.

Problèmes : eclipse est lourd, il est vrai ; et kile est le dernier reste de kde, j'aurais bien aimé passer à 100% gnome mais pas de "Gile" à ma connaissance.

Jusqu'à ce que je lise ton billet et mette à utiliser gedit avec les greffons pour le html. Premier bon point, en effet. Mais il y a mieux (enfin toi ça ne t'intéressera probablement pas cher Ulhume, mais peut-être que d'autres si) : il existe un plugin Latex pour Gedit.

Et je dois dire que c'est pas mal du tout. Bon, évidemment, ce n'est pas aussi complet que Kile qui est un environnement spécifiquement dédié à Latex. Mais l'essentiel des fonctionnalités est là : coloration, menus pour insérer les principales commandes, plus notamment un truc que je n'avais pas vu sous kile (je sais pas si ça existe) : la possibilité de compiler et d'exporter directement comme une image (genre png), sans être obligé de passer par du pdf puis convertir "à la mano". La compilation et sortie en pdf ou dvi se fait d'un click comme sur Kile, et il y a une aide pour la création de document qui insère les en-têtes quand on les connait pas.

Le seul "gros" truc qui manque par rapport à Kile, c'est la possibilité de cliquer sur les caractères mathématiques spécifiques, pour insérer le code correspondant. Perso, ça me gène pas puisque j'ai appris le Latex "à l'ancienne", donc je connais les commandes. Mais pour des débutants, ça peut être pratique, on peut espérer que le plugin se développe un peu dans cette direction.

J'ai pas encore tout regardé en détail, mais ça à l'air vraiment bien, et je sens que Gedit va devenir ma "plateforme de travail" unifiée. Le plugin est là, pour ceux qui seraient intéressés : http://live.gnome.org/Gedit/LaTeXPlugin

Ulhume, le 6 September, 2008 - 22:27

@Essaouera C'est pour cela que je reste sous Eclipse (entre autre), sa capacité de refactoring est pas égalé dans le monde libre, en tout cas pour Java.

Ulhume, le 7 September, 2008 - 11:28

Pour ceux que cela intéresse une petite mise à jour a été faite :
* Sauvegarde automatique
* Gestion du copié par click-central
* Gestion des encodages
* Sauvegarde via GVFS

Dab, le 7 September, 2008 - 15:55

ISO-8859-3 ?? tiens ça me dis vaguement quelque chose Wink merci
Gestion des encodages: Peut être cela dépend il de la distribution utilisée, mais pour ajouter un encodage je clique simplement sur 'codage des caractère' / 'Ajouter ou supprimer' lors de l'enregistrement.

Ulhume, le 7 September, 2008 - 19:16

@Dab Ah bé oui, c'est plus simple en effet Smiling

pyknite , le 8 September, 2008 - 09:56

Bon, ben je vois que quelqu'un à déjà parler de geany, donc je passe mon tour Wink

Autrement y'a tjs ce bon vieux vim Wink

Ulhume, le 8 September, 2008 - 10:04

@pyknite Ban, va falloir que je le reteste alors ce geany Smiling

Alors bon, vim oui, je suis d'accord, c'est très utile... lorsqu'il n'y a rien d'autre. Et je dis cela en toute objectivité car j'ai commencé mes premiers développements sous UNIX avec (pas le choix à l'époque).

Dab, le 8 September, 2008 - 12:49

Ah si, tu avais tout de même 'ed' l'éditeur uniligne, l'ancêtre de vi Smiling
Comparativement vi est un pur bonheur. Sinon il reste tout de même l'excellentissime Emacs que tu trouve sur de nombreux unix (et même window$) et là encore l'interface graphique n'est pas nécessaire.

pyknite , le 8 September, 2008 - 16:45

@Dab: surtout que l'interface graphique de vim (GVim) est vraiment naze je trouve Frown

Ulhume, le 8 September, 2008 - 17:50

@pyknite ben disons qu'une IHM à VI, c'est en quelque sorte parler de l'urbanisme tzigane, ça n'a pas beaucoup de sens Wink

Dab, le 8 September, 2008 - 23:00

@pyknite je ne saurai te dire, il n'est pas installé Smiling vim pour les fichiers de config et petits scripts, pour le reste pour moi c'est xemacs/emacs ... dont je n'utilise pas plus d'un millième, que dis je d'un millionième de la puissance, en gros couper/copier/coller Smiling

tight , le 10 September, 2008 - 11:09

gedit : simple, rapide et efficace. J'aime bien aussi.

Seul gros bémol : le plugin symbol browser qui rame à l'ouverture / enregistrement d'un gros fichier source (jusqu'à 10 secondes .. Shocked)

Ulhume, le 10 September, 2008 - 15:15

@tight je n'ai pas constaté cela, gros comment ? En fait ce plugin ne fait qu'exécuter ctags en tâche de fond. Faudrait vérifier qu'en lançant ce dernier à la main, le problème n'est pas le même.

Rémy , le 14 September, 2008 - 23:18

Je te plussoie, Geany est un très bon éditeur, léger et rapide, complet (on peut même parler d'IDE), gère énormément de langages...

Ulhume, le 15 September, 2008 - 02:19

Bon, j'ai téléchargé et testé rapidement la bestiole...

Alors oui, ok, vu que je suis quelqu'un de foncièrement honnête (si si Smiling, j'avoue que cet éditeur a fait d'ENORMES progrès de performances depuis mon dernier passage (il y a un peu plus d'un an). Le navigateur de symbole est beaucoup mieux fait que celui de GEdit.

Sinon dans les choses moins agréables, pas de correcteur orthographique en standard et impossible pour moi de compiler le plugin qui est censé combler ce manque. Et je n'ai pas non plus trouvé de gestion de thèmes de couleur.

Poster un nouveau commentaire

Le contenu de ce champ est gardé secret et ne sera pas montré publiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • To highlight piece of code, just surround them with <code type="language"> Your code &tl;/code>>. Language can be java,c++,bash,etc... Everything Geshi support.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Textual smileys will be replaced with graphical ones.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage

Connexion utilisateur
Les derniers bavardages...