vendredi 11 novembre 2005, 15:39
SciTE : l'éditeur indispensable
Dans le monde des éditeurs de texte, le choix est plutôt difficile. Les utilisateurs de Microsoft Windows en savent quelque chose, puisqu'avec un Bloc-notes aphatique et un WordPad pathétique, on a du mal à imaginer que l'informatique a évoluée depuis les années 70... Heureusement il y a Scite, un éditeur de texte libre (évidemment), portable (qui fonctionne sous Windows et sous Linux, entre autres) et incroyablement performant tout en restant leger comme une plume ! Alors, vous qui cherchez depuis des années un éditeur à tout faire, supportant à la fois le HTML, le CSS, mais aussi le PHP, le C ou encore le C++, ça vous dirait d'entrer dans le XXIe siècle ?
Présentation
SciTE signifie Scintilla Text Editor. Scintilla est un composant d'édition de code source aux fonctionnalités impressionantes, utilisé dans de nombreux projets, comme Anjuta ou Notepad2. Ok, super, nous voila bien avancé ! Mais qu'est-ce qu'il permet de faire au juste ?
Comme tous les éditeurs de texte, SciTE permet d'éditer n'importe quel fichier texte (code source, fichier de configuration ou simple fichier texte), dans n'importe quel encodage (il gère parfaitement l'UTF-8). Il offre de nombreuses fonctionnalités en terme d'édition pure (recherche et remplace à base de regexp, selection en colonnes, ...) et se débrouille à merveille comme éditeur de code (coloration syntaxique, intégration des API des langages permettant l'autocomplétion des fonctions, possibilité de « replier » du code, possibilité de compiler directement depuis l'éditeur, ...). En plus, il dispose d'onglets (tabs) et connait un nombre impressionnant de langages. Bref, le couteau suisse idéal pour tout programmeur ! Ca vous tente ? Alors passons à l'installation...
Installation
Les utilisateurs de Linux devraient trouver SciTE packagé dans leur distribution. Les utilisateurs de Windows pourront trouver sur la page de download plusieurs versions :
- Les Windows Executable ne demandent pas d'installation, mais n'offrent pas toutes les fonctionnalités. A utiliser lorsqu'on n'est pas sur son ordinateur (surtout le single file executable vraiment pratique).
- Les Windows Installers s'intègrent parfaitement à Windows (vous pourrez donc faire clic droit sur un fichier, puis « Editer dans SciTE »). Je vous conseille l'installeur de Bruce Dodson, light et très complet.
Utilisation
SciTE fonctionne comme n'importe quel éditeur de texte (ou presque). Il peut ouvrir plusieurs fichiers simultanément grâce à la gestion des onglets (tabs).
Les raccourcis claviers standards
Ce sont pratiquement tous les mêmes que dans la plupart des autres logiciels, aussi bien sous Windows que sous Linux.
Combo | Action |
---|---|
Ctrl + O | Ouvre un fichier. |
Ctrl + W | Ferme le fichier en cours. |
Ctrl + N | Nouveau fichier (nouvel onglet). |
Ctrl + S | Enregistrer le fichier. |
Ctrl + Shift + S | Enregistrer le fichier sous un autre nom. |
Ctrl + Tab | Passer à l'onglet de droite. |
Ctrl + Shift + Tab | Passer à l'onglet à gauche. |
Ctrl + F | Rechercher (find). |
F3 | Trouver le résultat suivant (après avoir commencé une recherche). |
Shift + F3 | Trouver le résultat précédent (après avoir commencé une recherche). |
Ctrl + H | Rechercher & Remplacer. |
Ctrl + G | Aller à la ligne... (goto) |
Ctrl + C | Copier. |
Ctrl + X | Couper. |
Ctrl + V | Coller. |
Ctrl + Z | Annuler. |
Ctrl + Y | Refaire (après une annulation ratée). |
Ctrl + A | Sélectionner tout le contenu du fichier. |
Ctrl + P | Imprimer. |
Les raccourcis claviers d'édition
Combo | Action |
---|---|
Ctrl + Shift + A | Afficher les espaces et les tabs. |
Ctrl + Shift + D | Afficher les caractères End of Line (fin de ligne). |
Ctrl + U | Transforme la sélection en minuscules. |
Ctrl + Shift + U | Transforme la sélection en majuscules. |
Ctrl + L | Coupe la ligne en cours |
Ctrl + Shift + T | Copie la ligne en cours |
Ctrl + Shift + L | Supprime la ligne en cours |
Ctrl + D | Duplique la ligne en cours. |
Ctrl + T | Inverse la ligne en cours avec celle au dessus (transpose). |
Ctrl + <- ou -> | Se déplacer d'un mot entier vers la gauche ou vers la droite (attention, parfois il se trompe avec les accents). |
Shift + une flèche directionnelle, PageUp, PageDown, Home ou End | Se déplacer en sélectionnant. |
Ctrl + Shift + <- ou -> | Sélectionner un mot entier vers la gauche ou vers la droite. |
Ctrl + Backspace | Supprime du début du mot jusqu'au curseur |
Ctrl + Suppr | Supprime du curseur jusqu'à la fin du mot |
Ctrl + Shift + Backspace | Supprime du début de la ligne jusqu'au curseur |
Ctrl + Shift + Suppr | Supprime du curseur jusqu'à la fin de la ligne |
Les raccourcis claviers spéciaux pour les codeurs
Combo | Action |
---|---|
Tab | Indente le bloc sélectionné |
Shift + Tab | Dé-indente le bloc sélectionné |
Ctrl + E | Déplace le curseur jusqu'à la parenthèse/accolade ouvrante ou fermante. |
Ctrl + Shift + E | Sélectionne tout ce qui est contenu entre 2 parenthèses/accolades. |
Ctrl + Q |
Commente/Décommente la/les ligne(s) en cours en mode Block, selon le langage. Exemple en C++ :
//~ string truc("PONG :" + c.getWhat()); |
Ctrl + Shift + B |
Commente les lignes selectionnées en mode Box. Exemple en C++ :
/* string truc("PONG :" + c.getWhat()); |
Ctrl + Shift + Q |
Commente les lignes selectionnées en mode Stream. Exemple en C++ :
/* string truc("PONG :" + c.getWhat()); |
Ctrl + I |
Propose des choix d'autocomplétion pour le mot en cours (à condition que l'API du langage soit installée, voir comment faire). Exemple, taper str puis Ctrl + i en C donnera :![]() |
Ctrl + Shift + Espace |
Réaffiche la Calltip de la fonction en cours (à condition que l'API du langage soit installée, voir comment faire) :![]() |
F7 | Lance la compilation du fichier dans l'output pane (voir ci-dessous) |
Ctrl + F7 | Lance la construction du projet auquel appartient le fichier (voir ci-dessous) |
F5 | Lance le binaire compilé ou le logiciel permettant de visualiser le fichier (navigateur web en cas de fichier HTML par exemple) |
Voici les raccourcis clavier dont je me sert régulièrement. Mais il existe des tas d'autres, et si vous ne trouvez pas votre bonheur ici, essayer de regarder dans la doc, rubrique Keyboard commands.
Enfin, pour les gens vraiment très exigeants, sachez qu'il est possible de définir ses propres raccourcis clavier, via la propriété user.shortcuts
(voir ci-après pour la configuration de SciTE). N'en ayant jamais eu besoin, je ne peux malheureusement pas en dire plus là dessous. Je vous conseille donc d'aller lire la doc de SciTE si cette fonctionnalité vous interresse.
Configuration
SciTE a un défaut : il n'offre pas d'interface pour paramétrer les options. Tout se fait via l'édition des fichiers de configuration. Même si la syntaxe n'est pas difficile, c'est un peu contraignant, voire parfois rebutant pour certains. Mais ne vous inquiétez, voici une rapide présentation du fonctionnement de l'engin, et vous allez voir, c'est très simple !
Il y a 3 niveaux de fichiers : Global, User et Local. Local est prioritaire sur User qui est prioritaire sur Global. Par exemple, si une option est présente à la fois dans Global et dans User, c'est la valeur de User qui sera retenue.
Les fichiers sont accessibles via le menu Options, puis Open Global Options File ou Open User Options File (ou encore Open Local Options File).
- Le fichier Global définit les options globales par défaut de SciTE (c'est à dire, celles qui s'appliqueront à tous les utilisateurs). Sous Linux, le Global est en général quelque part dans
/usr/share/scite/
et n'est pas accessible par l'utilisateur (seulement le root). Il vaut mieux laisser ce fichier intact, d'abord parcequ'il vous permettra de retrouver facilement les options par défaut en cas de soucis, mais surtout parcequ'il sera écrasé à chaque mise à jour de SciTE, et donc il faudra refaire toutes les modifs... - Le fichier User est donc celui qu'il vous faut pour définir toutes les options que vous voulez. Sous Linx, il est dans
~/.SciTEUser.properties
alors que sous Windows il se balade quelque part dans le profil. Il est vide par défaut, alors on peut soit le remplir au fur et à mesure, soit recopier le fichier global dedans et le modifier après ; c'est une question de goût. - Le fichier Local sert à définir des paramètres particuliers pour un dossier. Il doit se trouver dans le même dossier que les fichiers auxquels on veut appliquer ces paramètres (par exemple : mode d'indentation, wrap des lignes, options du compilateur, etc.).
Pour connaitre tous les détails des fichiers de configuration de SciTE, vous pouvez lire la doc, rubrique Properties files.
Dans la suite de cet article, toutes les options seront à rajouter au User Options File.
L'output pane, ou comment transformer SciTE en IDE
Vous avez peut-être remarqué une petite fenêtre, sur la gauche ou en bas de la fenêtre d'édition ? C'est l'output pane, là où sont affichés les résultats de la compilation du fichier ou du projet...
Et oui, car SciTE peut executer la compilation du fichier (compile) ou de tout le projet (build), et lancer le résultat obtenu (go). Pour cela, il faut le configurer grâce aux propriétés command.go
, command.build
et command.compile
.
Voici par exemple ma configuration personnalisée pour les fichiers C/C++ (sous Linux) :
command.compile.*.c=gcc -Wall $(FileNameExt) -o $(FileName)
command.compile.*.cpp=g++ -Wall $(FileNameExt) -o $(FileName)
command.build.*.c=make
command.build.*.cpp=make
command.go.*.c=$(FileName)
command.go.*.cpp=$(FileName)
command.go.needs.*.c=gcc -Wall $(FileNameExt) -o $(FileName)
Lorsque des erreurs s'affichent dans l'output pane, un double clic sur la ligne vous amenera directement à la ligne concernée, comme sur le screenshot ci-dessous :
Ce système est très très (très) largement configurable, notamment via l'utilisation des fichiers de configuration Local Options File, qui permettent de définir des paramètres de compilation différents selon le dossier. Je conseille à ceux qui sont interressés par ces fonctionnalités d'aller lire la doc de SciTE, rubrique Standard Editing et Defined variables in properties files.
Trucs, astuces et options utiles
SciTE regorge d'options utiles, mais souvent (trop) bien cachées. Pour vous donner une idée, j'utilise SciTE depuis 3 ans bientôt, et j'en découvre encore regulièrement ! Voici un condensé des options que j'utilise.
Sélection en colonnes
Sélectionner du texte en appuyant sur Ctrl sous Linux ou Alt sous Windows.
Pour ceux qui ne connaissent pas, la sélection en colonnes ça permet de faire selectionner du texte comme ça :
Tabs
La barre des onglets (tabbar) n'est pas toujours activée par défaut, ou alors le nombre de fichiers que l'on peut ouvrir en même temps (buffers) est limité à 1. Voici les propriétés utiles :
tabbar.visible=1
tabbar.hide.one=0
tabbar.multiline=1
buffers=100
Pour afficher le numéro du fichier dans la barre de titre ([2 of 4] par exemple), il faut utiliser la propriété :
title.show.buffers=1
Numéros de lignes
C'est pas toujours activé par défaut, alors il faut faire :
line.margin.visible=1
line.margin.width=4
Fonts
Sous Linux, elles sont très très moches par défaut. En plus, SciTE utilise des fonts qui ne sont pas monospace (c'est à dire que chaque caractère n'utilise pas exactement le même nombre de pixel - cas de la plupart des polices destinées à la rédaction de documents), ce qui est une très mauvaise idée pour le codage. Personnellement, je remplace donc toutes les fonts par Fixed en taille 10 ou 12. Voici mes paramètres :
if PLAT_GTK
font.base=font:fixed,size:12
font.small=font:fixed,size:10
font.comment=font:fixed,size:12
font.code.comment.box=$(font.comment)
font.code.comment.line=$(font.comment)
font.code.comment.doc=$(font.comment)
font.text=font:fixed,size:12
font.text.comment=font:fixed,size:12
font.embedded.base=font:fixed,size:12
font.embedded.comment=font:fixed,size:12
font.monospace=font:fixed,size:12
font.vbs=font:Lucida Sans Unicode,size:10
Fermer automatiquement les tags XML et (X)HTML
Par exemple, je tape <p>
et ça donne <p></p>
avec le curseur entre les deux balises.
xml.auto.close.tags=1
Remplacer dans tous les fichiers ouverts
D'après la documentation de SciTE, il faudrait ajouter cette propriété :
find.replace.advanced=1
Elle ferait apparaitre un bouton Replace in Buffers qui permettrait de remplacer dans tous les fichiers ouverts. Malheureusement, je n'ai encore jamais réussi à faire apparaître ce bouton... Esperons que ce bug sera rapidement corrigé !
Les boutons Home et End utilisent les lignes visuelles au lieu des lignes logiques
Lorsqu'on active l'option Wrap (via le menu Options ou via la propriété wrap=1
), les lignes trop longues s'arrettent au bord de l'écran et reviennent à la ligne, au lieu de continuer (et d'obliger l'utilisateur à défiler horizontalement). La ligne trop longue en question est appellé ligne « logique » et forme alors plusieurs lignes dites « virtuelles », car il n'y a pas physiquement de caractère de fin de ligne : c'est juste un effet visuel. Un moyen de s'en rendre compte est de constater que ces lignes virtuelles ne sont pas numérotées, comme le montre le screenshot ci-dessous :
Par défaut, les touches Home et End déplacent le curseur au début et à la fin de la ligne logique. Pour changer se comportement afin qu'elles déplacent le curseur sur la ligne visuelle, c'est la propriété :
wrap.aware.home.end.keys=1
Configurer l'aspect du folding
Le folding permet de « replier » des morceaux de codes, par exemple le corps d'une fonction ou bien une ligne d'un tableau HTML entre 2 balises <tr>
.
Pour cela, il suffit de cliquer sur les icones qui apparaissent dans la marge spéciale (ou utiliser le raccourci clavier Ctrl + * (du pavé numérique). Au cas où ça ne serait pas activé par défaut, il faut rajouter les options :
fold=1
fold.compact=0
fold.flags=16
fold.symbols=1
fold.comment=1
fold.preprocessor=1
fold.html=1
Le paramètre fold.symbols
permet de définir l'aspect des icones de folding. Voici les différents valeurs :
fold.symbols=0
fold.symbols=1
fold.symbols=2
fold.symbols=3
(mon préféré :)
Utiliser les icones Gnome pour la toolbar (parceque celles par défaut sont vraiment moches)
Uniquement sous Linux.
toolbar.usestockicons=1
Repère visuel à 80 caractères
edge.column=80
edge.mode=1
edge.colour=#C0DCC0
Note : Un bug sur ma version (1.66) fait que la ligne est tracée par dessus le texte. C'est assez désagréable.
Intégration des API
Les fichiers API peuvent être téléchargé sur le site officiel, ou créé par des scripts, mais là il faut aller lire la doc parceque j'ai jamais essayé. Ils permettent l'autocomplétion des fonctions, ainsi que l'affichage des calltips indiquant les paramètres et la description des fonctions.
Dans les propriétés, il faut indiquer le chemin des fichiers. Exemple :
api.*.c=/usr/share/scite/c.api
api.*.cpp=/usr/share/scite/c.api
api.*.php=/usr/share/scite/php.api
Indentation
Comme je l'expliquais dans l'article sur les coding style, il est préferable d'utiliser des tabulations pour l'indentation, et d'en choisir la taille. Avec SciTE, ça se configure comme ça (exemple avec des tabs qui font 8 caractères) :
tabsize=8
indent.size=8
use.tabs=1
Ouvrir les fichiers HTML dans Firefox
Par défaut, lorsqu'on fait Go (touche F5) sur un fichier HTML, SciTE ouvre Internet Explorer, ou Netscape sous Linux. Pour ouvrir le fichier dans une nouvelle tab d'un Firefox déjà lancé, il suffit d'ajouter :
command.go.*.html=firefox -remote "openurl(file://$(FilePath),new-tab)"
Utiliser SciTE pour l'UTF-8
SciTE est capable de détecter l'encodage du fichier en se basant sur les commentaires en début de fichier. Par exemple, un fichier XML débutant par :
<?xml version='1.0' encoding='utf-8'?>
ou n'importe quel fichier source débutant par :
# -*- coding: utf-8 -*-
sera reconnu.
Si pour une raison ou pour une autre ce n'est pas le cas, vous pouvez changer l'encodage du fichier en cours via le menu File, Encoding.
- UTF-8 encodera le fichier avec un caractère spécial au début, invisible tant qu'on reste avec SciTE, mais qui risque de géner si le fichier est déstiné à être utilisé avec d'autres éditeurs qui ne le gère pas.
- UTF-8 Cookie encodera le fichier sans ce caractère spécial, mais en contrepartie, il n'y aura aucun moyen de détecter qu'il est en UTF-8. Il faudra préciser à chaque ouverture que ce fichier est en UTF-8
Liens
- Le site officiel du projet Scintilla.
- La page sur SourceForge.
- Mon fichier de configuration.
Par cgo2, dans Logiciels libres
Commentaires
Rien ne remplacera jamais vim !
Ces éditeurs de texte graphique sont une hérésie à l'informatique.
Je tiens à préciser que même s'il y a une grosse ressemblance, ce n'est pas moi qui ait posté le commentaire du dessus, la preuve, j'allais le faire la ! ( grmbl )
Pi c'est vrai quoi, vim roxor.
lol je ne serai pas aussi tranché que les bonhommes ci-dessus, mais je suis assez d'accord: je préfère vim. Ensuite, chacun son truc hein. lol
J'ai lu en diago, mais bon j'essayais surtout de m'imaginer comment je pourrais programmer perso avec ça. Et... brrrr j'en ai vraiment frissonné. Je serais perdu au milieu de ces boutons, menus, trucs et autres options, bouton droit, gauche, milieu... alors que tout pourrait être si simple, direct et rapide!
Enfin bon voilà quoi.
Amusez vous bien avec votre logiciel. Après tout, l'important est que ça vous plaise et vous permet de bosser.
P.S.: sans vouloir me donner une importance que je n'ai pas, cet article a un rapport avec les remarques récentes que je t'avais faites en commentaire lors de ton dernier article sur les normes de codage où je défendais des éditeurs que tu traitais de préhistorique (emacs, vim, autres...) contre tes propositions d'utiliser ce que tu appelais des "IDE modernes"?
> Je serais perdu au milieu de ces
> boutons, menus, trucs et autres
> options, bouton droit, gauche,
> milieu... alors que tout pourrait être
> si simple, direct et rapide!
HA HA, si tu penses à vim quand tu dis "si simple direct et rapide", je suis mort de rire à me rouler par terre ! Compare la vitesse d'un raccourci clavier de SciTE, avec la commande équivalente sous Vim qu'on rigole !
Et tu n'as rien lu à l'article, parceque dans SciTE il n'y a ni "bouton droit, bouton gauche", ni "menus". Quant à "être perdu" dedans, c'est vraiment une remarque idiote, uniquement pour faire genre "geek", parceque même un enfant de 3 ans arrive à se dépatouiller dans des menus, et ça m'étonnerait que tu sois plus bête qu'un enfant de 3 ans.
Enfin, j'ai fait l'effort de ne pas troller dans cet article, et je trouve vraiment dommage que vous vous sentiez obliger de balancer des commentaires du genre "wai vim c'est mieux moi je suis un gros barbu et j'me la pete", sans aucun argument vraiment concret ; si vous voulez comparer, alors, par exemple, on peut comparer, pour chaque fonctionnalité, les commandes à faire, etc. Mais pour ça, le forum serait plus adapter.
PS : Non.
Ma remarque concernait les programmes graphiques en règle général. Le fait est que je suis pas fan de la souris, même si c'est aussi utile dans certains cas. Et en général, les trucs graphiques sont qd même pensés pour être utilisés optimalement avec l'usage de la souris et de ses 3 boutons (dans l'esprit des dévs, maintenant les souris ont la plupart du tps 3 boutons).
Même chose pour les menus. Les menus sont pensés pour être utilisés à la souris, même si dorénavant, ils sont toujours liés à un raccourci clavier. Et souvent moi ça me fait chier d'aller chercher qqch dans un menu. Surtout que dans le contexte de la programmation, je trouve pas ça très utile (dans d'autres contexte, peut-être, je dis pas).
C'est ça que j'appelle être "perdu". Parce que moi si désolé, ça me perds. Quand j'emploie un truc graphique, je me tire souvent les cheveux à trouver dans quel menu aller, prendre quel item, qui m'ouvre ensuite une boîte avec des onglets, et mélangé à plein d'infos dont je me fous.
Je pense qu'un logiciel graphique est bon dans les cas de peu d'utilisation. Un type d'activité que tu vas peu souvent faire, ben t'oublies éventuellement les commandes, ou le nom des balises, etc. Mais quand tu fais souvent, tu te mets à maîtriser suffisamment ton logiciel pour que le logiciel le plus simple possible soit bien, voire mieux dans mon cas; en effet à ce moment là, avoir accès à trop d'infos perturbent, puisqu'on sait précisemment ce qu'on cherche, et qu'il aurait été bien plus pratique d'y accéder direct dans ce cas.
C'est en ça que je dis que vim est simple. Tu n'as à l'écran que ce dont tu as besoin, à savoir ton texte. C'est donc toi qui appelle ensuite ce qu'il te faut.
Et je me rase, même si je n'y pense pas tous les jours. Je ne suis donc pas barbu.
Et bien je trouve dommage un tel amalgame et autant d'idées reçues dans un seul commentaire. D'abord, parceque ça dénote une mauvaise foi assez impressionnante (si tu veux seulement "l'écran dont tu as besoin" il suffit de masquer les menubar/toolbar/Statusbar, c'est possible dans pratiquement tous les éditeurs et les raccourcis claviers sont aussi efficaces que les commandes vim, si ce n'est plus *dans certains cas*), et ensuite, parceque malheureusement ça n'a pas vraiment de rapport avec l'article sur SciTE.
Je réitère ma remarque : j'ai fait l'effort de ne pas troller dans l'article, et je trouve vraiment dommage d'en arriver à un débat "les éditeurs de textes graphiques c'est nul je m'y perd, vim c'est mieux". Le forum est là pour ça, et si tu veux me répondre, stp utilise le (copie/colle-y ce message si ça te fait plaisir).
Salut,
Franchement je tiens a te remercier pour toutes ces explications. Ca fait bientôt 2 ans que j'utilise SciTE et il y a vraiment pas mal de commande très pratiques que je ne connaissais pas.
J'ai juste un petit probléme sur la configuration pour la commande go en html. J'ai mis la même ligne que toi et ca veut a tout pris l'ouvrir avec netscape ce qui fait une erreur vu que je l'ai pas. Je suis sous Ubuntu 5.1. Tu sais si ya un autre fichier ou il peut deja y avoir cette ligne qui interfére avec la mienne.
J'espére avoir été clair et merci encore pour ce tuto. SciTE est un éditeur peu connu mais vraiment très puissant.
Bonne continuation
[no troll inside]
Je suis aussi un utilisateur de vi et emacs (enfin, surtout vi ; emacs est trop complexe pour mon utilisation). et je te remercie pour cet article ;
J'ai en effet découvert scite hier au détour d'un lien et je me suis décidé aujourd'hui ; programme du jour, tout développer avec pour voir si ça me convient ; après quelques essais, c'est déjà pas mal et le principe me plait bien...
Bon, je suis encore très loin de gérer tout (ouvrir, sauvegarder, chercher, remplacer pour l'instant :-P ) mais je vais imprimer ton article pour le lire tranquillement ;-)
A++
Article très sympa, je me suis fait une config aux petits oignons :)
Dommage que certains aient trouvé le moyen de troller, comme à chaque fois qu'on parle d'éditeur de texte...
Un bien bel article, pour un bien bel outil :)
bien bel article ... c'est aussi mon editeur préféré depuis un bail ... aussi beaucoup pk il fonctionne à l'identique sous win ou nux ... et donc, mes configs ne sont pas perdus ;-)
J'aime aussi faire savoir que ce logiciel est fabuleux, mais je n'ai jamais pris le temps de faire un article (aussi, je n'ai pas de blog ;-) ...
bref parfait, c'est bookmarké ...
il y a un seul truc qui m'a vraiment choqué, c'est dire de devoir utiliser les tabulations ...
Scite est absolument excellent, et n'a pas son pareil, dans la gestion des indentations avec des espaces ...
C'est grace à lui, que j'ai pu passé dans le camp des espaceurs ;-)
Faut dire que je suis fan de python, ça aide ;-)
Merci pour cet excellent article, qui m'a fait découvrir pleinement les possibilités de Scite que j'utilise pourtant depuis longtemps...
Ma rentabilité de codage va augmenter grâce à toi :D
Bonjour tout le monde ! ! !
Voilà je n'arrive pas à installer SciTe car sur chaque dl que j'ai fais iln'y a pas de .exe ! ! !
Comment faire ? ? ?
Bonjour,
Ton article m'a permis d'adopter un editeur graphique, en plus d'Emacs.
Reste que la config reste "sportive", mais on sent bien que l'on peut aller loin.
Merci.
Vous me faites tous bien rire... Vous virez dingues les gars avec vos éditeurs de textes! Bon, moi j'utilise Emacs pour de la programmation massive, et je dois dire que pour du dirty editing, SciTE est excellent. Ouai: un petit edi sympa, configurable, pas lourd (oui oui les gars, remember les 60 MB d'Emacs, les 20MB de Vim héhé...), et finalement extrêmement fonctionnel. Manque encore des trucs basiques, genre backups, et une coloration syntaxique qui tienne vraiment la route. Bref, le compagnon parfait d'un gros edi genre Emacs. Du bon boulot.
Désolé, mais ça ne vaut pas Zend.....
Ajoutons à cet excellent article une fonction importante et super-productive de scite. C'est l'utilisation du fichier abbrev.properties que l'on peut ouvrir par le menu Options:
Pour chaque ligne que vous entrez dans ce fichier:
Vous écrivez une abréviation que vous choisissez. Puis vous tapez le caractère = .
Vous tapez ensuite du texte.
A partir de cet instant, lorsque vous serez dans un script, chaque fois que vous taperez l'abréviation, puis que vous appuierez sur les touches Ctrl + B , l'abréviation sera remplacée par le texte.
exemple: La ligne suivante est insérée dans mon fichier abbrev.properties:
js=<script type="text/javascript"> | </script>
Le résultat, c'est que quand je tape js et que j'appuie sur la combinaison Ctrl + b dans mon script,il s'écrit automatiquement:
<script type="text/javascript">
</script>
Notez la barre verticale | qui décide du positionnement du curseur après insertion du texte (ici entre les deux balises) et les qui provoquent un saut de ligne.
Personnellement je l'utilise pour mes programmes perso et pour le boulot depuis au moins 5 ans, j'ai essayé bon nombre d'autres éditeurs, dont vi et emacs, mais celui ci est très léger, rapide et très puissant et propose la coloration syntaxique sur un très grand nombre de format de fichier texte. Il est configurable a souhait, il faut cependant investir un petit peu de son temps à lire la doc.
Pour développer en python, je trouve que c'est un must même.
Bref il vaut que l'on si penche dessus même par les geeks fan de VI.
Au passage merci pour cette article, il répond à des besoins que j'avais et que je n'avais pas vu dans la doc, comme la sélection en colonne.
Le meilleur éditeur de texte sous les OS non libre :D
sous windows je l'utilise depuis 1 an pratiquement et c'est le pied (le seul editeur texte qui ouvre un log de + de 200 mo sans broncher en quelques secondes !!!! aucun shareware ou logiciel payant n'arrive à s'exécuter sur de tels fichiers...)
en un mot : parfait. pourquoi payer quand on a beaucoup mieux gratuitement !
Et par rapport à UltraEdit, il se situe comment ?
C'est pas comparable : UltraEdit n'est pas libre et ne fonctionne pas sous Linux (enfin aux dernières nouvelles).
Tout à fait d'accord :
- UltraEdit n'est pas libre,
- il ne fonctionne pas sous Linux.
Bon, la liberté d'UltraEdit n'est pas trop chère payée, hein ! :-)
Linux ?... Venant du monde Windows j'ai du mal à m'y faire mais bon, je ne désespère pas d'y arriver un jour (je devrais quand même garder un Windows pour la bonne raison que... Il n'y a pas IE sous Linux et quand on fait des sites Web ben on est un peu obligés d'avoir un IE sous la main pour vérifier la mise en forme des pages, non ?)
(Crois-moi, ça me fait suer de devoir "suivre" les Windows)
Un truc que j'aime bien dans UltraEdit c'est la possibilité de personnaliser le nom des fichiers backup. Par exemple, pouvoir ajouter la date, l'heure, le n° d'ordre de sauvegarde du fichier.
Par exemple : "montest.php" devient "montest.php 2007-03-30 18", la sauvegarde suivante deviendra "montest.php 2007-03-30 19", etc.
(étant en découverte de plein de choses je fais beaucoup de tests :-), je sauvegarde mon code très souvent, je suis bien content de pouvoir revenir à l'antepénultième version, ou celle bien avant, celle qui marchait bien avant que les spécs changent ou que je fasse trois modifs "anodines" ).
(Je sais : avec le temps, l'expérience, une certaine organisation et une mâle assurance dans la conduite de ses développements tout cela sera superflu ;-) )
On peut configurer SciTE pour avoir ce comportement ?
Il y a d'autres petits trucs qui me plaisent aussi dans UltraEdit, mais, snif ! j'suis tellement en déficit de sommeil en ce moment qu'ils ne me viennent pas à l'esprit :-/
J'ai téléchargé SciTE après la lecture de ton billet, puis aussi Notepad++ découvert ce matin ( et qui ne va pas faire long feu s'il n'a pas la sélection en colonne si pratique :-( ), j'ai encore 28 jours d'essai d'UltraEdit... Bon ben va peut-être falloir développer au lieu de tester les softs :-)
Merci pour ta réponse à ma question un peu sommaire. On a même réussi à éviter une guerre de religions ? ;-)
Punaise ! Tous mes sauts de ligne, mon texte aéré, tout ça... Ca a sauté ! :-(
Pas grave, ça reste lisible :)
Ce que je voulais dire, c'est que je ne suis pas capable de te donner une comparaison, car, puisqu'il n'est pas libre et qu'il ne fonctionne pas sous Linux, je ne peux pas l'utiliser, donc je ne le connais pas.
Pour la gestion des sauvegardes, j'en sais rien mais je ne crois pas avoir vu quelque chose de semblable dans Scite. Personnellement j'utilise svn (subversion) pour tous mes projets de développement, donc je n'ai pas à me soucier de faire ce genre de sauvegardes.
Ha parce que scite est libre?
http://fr.wikipedia.org/wiki/Scite
Attention à pas confondre le libre et l'open source.
La license GPL n'est pas la seule license libre, n'en déplaise à monsieur RMS. En l'occurence, la license sous laquelle est publiée SciTE (pratiquement la license BSD) respecte les libertés fondamentales :
la liberté d'utiliser le logiciel
la liberté de copier le logiciel
la liberté d'étudier le logiciel
la liberté de modifier le logiciel et de redistribuer les versions modifiées
Donc attention à ne pas croire aveuglement ce que dit Wikipedia sans réflechir.
Pour ma part, je trouve Scite super. Je pense que suivant le système d'exploitation que l'on utilise, on peut utiliser différents éditeurs.
Sous linux, je trouve que vim est nickel. Il est déjà intégré dans l'OS donc pas la peine d'en installer un autre.
Sous Windows, le bloc note est plutôt minable. Donc l'utilisation de Scite est nickel. je ne conseille pas d'installer vim sous Windows car l'édition de plusieurs fichiers simultané n'est pas super super.
Licence de Scite : http://scintilla.sourceforge.net/Li...
La licence utilisée ici me paraît plutôt libre :) (et pas "que" open source)
Scite me plaît beaucoup avec ses raccourcis clavier qui facilite la vie (CTRL+D et CTRL+T pour ne citer qu'eux)
Ce tutoriel m'a permis de "customiser" quelques paramètres que je ne connaissais pas donc merci beaucoup.
Pour finir, y'a pas de "meilleur" éditeur, libre à chacun de choisir ce qui lui convient le mieux (suivant ses goûts, suivant l'OS et même suivant le temps qu'il fait dehors :p)
Excellent article, pour un excellent éditeur de texte
Configurable à souhait,coloration syntaxique par défaut plutôt jolie.
Perso,je l'utilise pour l'assembleur (possibilité de compilation) et les appli web(seul regret ne gère pas le transfert ftp à la ultra edit) enfin pour tout ce qui ne requiert pas d'edi.
Bref à essayer! même pour les emac-sien et companie ;)
Salut à tous.
Merci pour cet page car il semble qu'il y ait peu d'endroits où on parle de Scite en français.
Perso, j'en suis fan depuis longtemps.
Je voulais savoir si parmi vous certains s'étaient lancés dans des développements LUA pour apporter des extensions intelligentes dans Scite. Un peu comme l'a fait AutoScript (AutoIt) pour ajouter des GUI Editor ou d'autres variantes.
Je ne suis pas bon programmeur, mais il me semble qu'il ne doit pas être (du moins de ce que j'en comprend) difficile de créer des fonctions de backup, de ftp et autres. Non!??!?!
J'ai oublié de préciser qu'on peut trouver des infos sur ce site:
http://lua-users.org/wiki/SciteScri...
Hello - article sympa pour soft sympa.
Gros bémol pour scite cependant - l'horrible gestion de l'utf8.
Un autre petit bémol ; pas de remplacement par expressions régulières multilignes
Sinon - et c'est entre pour ça que je garde scite - c'est sa capacité a être scriptable via lua ; possibilitées réellements énormes.
Je l'utilise depuis une semaine et il me plaît bien.
ton article va m'aider beaucoup. Merci.
Scite
lors de la compilation d'un programme c, j'ai ce message d'erreur!
je ne comprends pas:
>cc -o prog01 prog01.c
>Le fichier spécifié est introuvable.
merci de me donner un coup de main
C'est parce que la syntaxe n'est pas bonne :
cc-o prog01.c prog01
;)
coucou super ton petit tuto sur scite bravo à toi. Je l'utilise sur linux, car bon contrairement aux adeptes de vim, moi j'aime bien scite. Bref, j'ai eu un petit soucis en voulant ajouter des api, il me bloque la barre d'espace... as-tu déjà eu ce problème ?