gedit

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Ne doit pas être confondu avec jEdit.
gedit
Image illustrative de l'article Gedit
Logo

Capture d'écran de gedit 2.22.3 avec coloration syntaxique d'un fichier en langage C.
Capture d'écran de gedit 2.22.3 avec coloration syntaxique d'un fichier en langage C.

Développeur développeurs de gedit
Dernière version 3.4.1 (18 octobre 2012) [+/-]
Écrit en C / GTK+
Environnement Systèmes Unix, Mac OS X, Windows
Type Éditeur de texte
Licence GPL
Site web projects.gnome.org/gedit

gedit est un éditeur de texte libre (sous licence GPL), compatible UTF-8. Il est fourni par défaut avec l'environnement graphique GNOME. Il a été conçu à l'aide de la bibliothèque GTK de façon à avoir une interface graphique simple et propre, inspiré des idéaux du projet GNOME.
Gedit a également été porté sous Windows et sur Mac OS X, toutefois la version Windows n'est pas exempte de bugs.

Fonctionnalités[modifier | modifier le code]

  • Support intégral de l'encodage de caractères Unicode.
  • Modes de surbrillance configurables pour de nombreux langages de programmation (C, C++, Java, HTML, XML, Python, Perl, OCaml, Haskell, etc.)
  • Modes annuler/refaire à niveaux configurables.
  • Chargement transparent de fichiers distants, avec le support du système Gvfs, qui permet d'éditer, et de consulter des fichiers, en ligne, ou sur un réseau local (via FTP, SSH, HTTP, ou HTTPS)..
  • Rétablissement de versions de fichiers.
  • Support de l'impression et de l'aperçu avant impression.
  • Support du presse-papier (fonctions couper, copier et coller).
  • Recherche et remplacement.
  • Déplacement vers une ligne donnée.
  • Indentation automatique.
  • Retour automatique à la ligne.
  • Numérotation des lignes.
  • Alignement du texte à droite.
  • Sauvegarde de fichiers.
  • Choix des polices et des couleurs (schéma de couleurs modifiable par l'utilisateur).
  • Manuel de l'utilisateur disponible en intégralité en ligne.
  • Un système de plugins permettant d'ajouter de nouvelles fonctionnalités avancées (voir le paragraphe suivant).
  • Des onglets déplaçables.
  • Support des modificateurs Vim, Emacs ou Kyle (pour changer les paramètres fichier par fichier).
  • Dynamiquement ou pseudo-dynamiquement extensible par l'utilisateur (comme Emacs, jEdit ou Vim) : voir le paragraphe suivant.

Étendre gedit[modifier | modifier le code]

Gedit est extensible, par deux méthodes différentes : des scripts ou des plugins.

Plugins[modifier | modifier le code]

Gedit est extensible, pseudo-dynamiquement (il ne faut pas re-compiler le logiciel, juste le relancer), par des plugins, écrits en C ou en Python. Notamment avec les paquets gedit-plugins ou gedit-extra-plugins.

Dans ces greffons, on notera par exemple Terminal Embarqué qui permet d'intégrer une console dans le panneau latéral ou inférieur. Ou alors Synctex qui permet de supporter Synctex, pour synchroniser l'édition de fichiers LaTeX et le fichier PDF produit par compilation.

Scripts[modifier | modifier le code]

Gedit est aussi extensible par des scripts, complètement dynamiquement. Cette fonctionnalité demande le plugin Outils Extérieurs, intégré dans le paquet gedit-plugins.

Ces scripts peuvent être écrits en Bash, Python ou n'importe quel langage en fait. Notamment, le lanceur de script définit certaines variables, comme GEDIT_SELECTED_TEXT qui contient le texte sélectionné lors du lancement du script, ou GEDIT_CURRENT_LINE_NUMBER qui stocke le numéro de la ligne en cours d'édition.

Exemples[modifier | modifier le code]

Voici un exemple de tel script, écrit en Bash.

#!/bin/sh
# [Gedit Tool]
# Comment=Ouvre un terminal dans l'emplacement du document
# Name=Ouvrir un terminal ici
# Shortcut=<Shift><Control>F9
# Languages=
# Applicability=local
# Output=output-panel
# Input=nothing
# Save-files=nothing
 
gnome-terminal --working-directory="$GEDIT_CURRENT_DOCUMENT_DIR" &

Un second exemple, en Python, tiré de la documentation officielle.

#!/usr/bin/env python
# [Gedit Tool]
# Name=Execute Highlighted Python Code
# Shortcut=<Shift><Control><Alt>p
# Applicability=all
# Output=output-panel
# Input=selection
# Save-files=nothing
 
import sys
result = eval(sys.stdin.read())
print "Output :\n", result, type(result)

Structure[modifier | modifier le code]

On voit qu'un tel script commence par une série de balises, définissant les paramètres du script, dans une syntaxe similaire à celle des fichiers INI ou desktop.

  • Comment décrit le script
  • Name donne le nom du script
  • Shortcut est le raccourcis clavier (ce qui montre le caractère dynamique de l'extensionabilité par scripts)
  • Languages permet de restreindre les langages auxquelles peuvent s'appliquer le script
  • Output définit la sortie du script. Techniquement, c'est la sortie standard (/sys/stdout en Bash ou sys.stdout en Python) qui est redirigée vers output, qui peut être un nouveau fichier, ou le panneau inférieur

Édition[modifier | modifier le code]

L'utilisateur n'est pas obligé d'éditer des méta-balises à la main. En effet, la fenêtre d'édition des outils extérieurs gère ça toute seule.

Lien externe[modifier | modifier le code]