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 est moins testée que les autres versions et contient davantage de bugs et d'incompatibilités que les autres.
Développé par | Communauté gedit |
---|---|
Première version | |
Dernière version | 46.1 ()[1] |
Version avancée | 43.alpha ()[2] |
Dépôt | gitlab.gnome.org/GNOME/gedit |
Écrit en | C et Python |
Interface | GTK |
Système d'exploitation | Multiplateforme |
Environnement | Systèmes Unix, Mac OS X, Windows |
Formats lus | DocBook, HTML (en), Texinfo source (d), Lua source file (d), Perl script (d), PHP script (d), Python script (d), Ruby Script (d), Tcl Script (d), ActionScript file format (d), Active Server Page (d), Bennu bitmap file (d), C source code file (d), C# source code file (d), C++ source code file (d), C++ header (d), C header file (d), D source code file (d), Eiffel Source Code File (d), Erlang source code file (d), Visual F# Source File (d), Forth source code file (d), Go script (d), Groovy script file (d), Haskell Script File Format (d), Haxe source code file (d), Interface Definition Language File (d), J script file (d), Java language source code file (d), Kotlin Source Code File (d), Lex source file (d), Nemerle source code file (d), NetRexx source code file (d), OCaml source code file (d), Pascal script (d), Prolog source code file (d), Rust source code file (d), Scala source code file (d), Scheme script (d), SPARQL query file format (d), Structured Query Language script (d), Standard ML source code file (d), Swift script (d), SystemVerilog Source Code File (d), Apache Thrift file (d), Vala source file (d), Visual Basic File (d), Verilog source code (with rem 1) (d) et Verilog source code (with rem 2) (d) |
Type | Éditeur de texte |
Licence | Licence publique générale GNU version 2 ou ultérieure |
Documentation | help.gnome.org/users/gedit/stable |
Site web | wiki.gnome.org/Apps/Gedit |
Fonctionnalités
modifier- 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
modifierGedit est extensible, par deux méthodes différentes : des scripts ou des plugins.
Plugins
modifierLes 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 paquets gedit-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
modifierGedit 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.
Exemples
modifierVoici 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
modifierOn 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 ousys.stdout
en Python) qui est redirigée vers output, qui peut être un nouveau fichier, ou le panneau inférieur
Édition
modifierL'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.
Références
modifier- « News in 46.1 »
- « News in 43.alpha »,