gedit est un éditeur de textelibre (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 est moins testée que les autres versions et contient davantage de bugs et d'incompatibilités que les autres.
Fonctionnalités
Support intégral de l'encodage de caractères Unicode.
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.
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
Gedit est extensible, par deux méthodes différentes : des scripts ou des plugins.
Plugins
Les plugins de Gedit sont écrits en C ou en Python.
Il n'est pas nécessaire de le relancer pour activer des nouveaux plugins, c'est par contre nécessaire lors de l'installation de nouveaux plugins.
Il existe des paquetsgedit-plugins ou gedit-extra-plugins ou encore gedit-code-assistance selon les distributions.
Dans ces greffons, on peut citer 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
Gedit est aussi extensible par des scripts.
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 autre langage de script.
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.
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
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.