Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Le meilleur éditeur de texte ?

Posté par CrEv (page perso, ) le 03 septembre 2006
Bonsoir,

Pour continuer dans les possibilités de troll (oui on est pas vendredi mais c'est pour finir le week-end tranquillement ;-) )...

Quel est pour vous le meilleur éditeur de texte (dans un but de programmation évidemment...)

J'ai longtemps utilisé emacs, essentiellement du fait de ses possibilités d'extensions. Je l'utilise encore régulièrement mais un peu moins.
J'utilise de temps à autre kwrite / kate / quanta selon les cas.

Mais je ne trouve toujours pas un éditeur vraiment parfait. Un éditeur qui me semble pas mal est textmate (que j'ai aperçu dans des vidéos de RoR) mais dispo que sous mac.

Un bon éditeur devrait :
- avoir une bonne coloration syntaxique (évident)
- permettre la complétion automatiquement (sur une liste de mots, d'après les mots dans le document, ...)
- pouvoir être étendu facilement (utilisation d'un langage de scripts)
- code folding (repliage du code) automatique ou non
- pouvoir écrire des macros (à rapprocher de l'extension) pour permettre par exemple d'écrire simplement ife pour faire un if else, etc
- évidement multi document aisé (tabs, buffers, ... au choix)
- si possible multi-plateforme
- enfin, être utilisable à la fois à la souris qu'au clavier

Bon voilà, pour le moment je ne l'ais pas trouvé (oui emacs fais tout ça et même plus, je l'utilisais pour l'irc entre autre, mais ... mais je sais pas j'aimerais bien autre chose).

Voili voilou, si vous pensez connaitre le meilleur éditeur, la perle rare, ça m'intéresse (et évidement les avis subjectifs - trolls - sont les bienvenus)

> Lire le journal (62 commentaires, moyenne: 2,7).  

Vous avez demandé le commentaire #750111.

complements

Posté par kadreg (page perso, ) le 03/09/2006 à 17:52. (lien). Évalué à 4.

- permettre la complétion automatiquement (sur une liste de mots, d'après les mots dans le document, ...)

Et pouvoir le faire de manière liée au langage aussi. J'ai une instance de la classe Toto, et après le '.', il me propose les membres de Toto que je peux appeler, avec bien sûr le rappel de la doc associée.

- code folding (repliage du code) automatique ou non
Et ce sans devoir insérer des commentaires spécifiques dans les sources à la "// {{{"

  • [^]Re: complements

    Posté par Moonz () le 03/09/2006 à 19:26. (lien). Évalué à 3.

    Et ce sans devoir insérer des commentaires spécifiques dans les sources à la "// {{{"
    Et en détectant automatiquement l'indentation utilisée dans le fichier (sauf si le fichier n'avait pas d'indentation, dans ce cas on utilise ses propres préférences). Parce que entre ceux qui utilisent deux espaces (XML et dérivés), 4 espaces (modules standards Python), 8 espaces (je sais plus qui, mais j'ai déjà vu) et une tabulation (le reste du monde), c'est pas toujours joyeux...

    Et en plus:
    - pouvoir compiler et voir le résultat de la compilation en un raccourci clavier
    - en cas d'erreur de compilation, marquer les lignes qui posent problème et se rendre à la première d'entre elles

    Remarque, tout ça doit pouvoir se résumer par "extensible"...

    • [^]Re: complements

      Posté par Talou (Jabber id, page perso, ) le 04/09/2006 à 08:08. (lien). Évalué à 1.

      SciTE et re-SciTE :o)

      • [^]Re: complements

        Posté par Moonz () le 04/09/2006 à 09:49. (lien). Évalué à 2.

        Tu m'intéresses là. J'utilise scite, et j'ai pas tout ça. Notamment:
        - Auto-indentation dans la plupart des langages. Ça marche en C et en Python, mais pas en PHP ni JavaScript...
        - Auto-détection de l'indentation utilisée: si tu me dis comment faire avec scite, je te plussoierai allègremment ;). J'envisageais justement de me mettre au Lua rien que pour faire ça....

        • [^]Re: complements

          Posté par Moonz () le 04/09/2006 à 19:52. (lien). Évalué à 5.

          Bon, je me réponds à moi même:
          > - Auto-indentation dans la plupart des langages. Ça marche en C et en Python, mais pas en PHP ni JavaScript...
          # Javascript & CSS
          block.start.*.js=10 {
          block.end.*.js=10 }
          block.start.*.css=5 {
          block.end.*.css=5 }

          # PHP
          block.start.*.php=127 {
          block.end.*.php=127 }

          > Auto-détection de l'indentation utilisée
          indent.automatic=1

          Quelques trucs sympas que j'ai trouvé en lisant la doc:
          XML:
          fermeture automatique des balises: xml.auto.close.tags=1
          changer les préférences d'indentation globales, et utiliser deux espaces:
          file.pattern.xhtml=$(file.patterns.xml);*.html;*.htm
          tab.size.$(file.pattern.xhtml)=2
          indent.size.$(file.pattern.xhtml)=2
          use.tabs.$(file.pattern.xhtml)=0

          Python: dans si je sélectionne import httplib et que je tape Ctrl-maj-O, ouvrir /usr/lib/python2.4/httplib.py
          openpath.*.py=/usr/lib/python2.4:/usr/lib/python2.4/site-packages

          Si vous avez des problèmes d'accents dans la sortie, essayez de la mettre en UTF-8:
          output.code.page=65001

          Accepter les séquences d'échappement dans rechercher/remplacer (ne fonctinne pas avec les regexp):
          find.replace.escapes=1

          Si vous faites beaucoup de PHP et que source files ne les affiche pas:
          other.source.files=*.php;*.php3;*.php4;*.php5;*.js
          open.filter=All Source|$(source.files);$(other.source.files)|\
          $(all.files)

          Fini les "warning, no new line at end of file":
          ensure.final.line.end=1

          Quand vous modifiez trois fichiers source et que vous appuyez sur F7 pour recompiler, il enregistre que le fichier courant, et pas les deux autres. Pour les compiler aussi:
          save.all.for.build=1

          N'avoir qu'une seule instance de scite:
          check.if.already.open=1

          Et en bonus, si vous aussi vous trouvez que la coloration syntaxique du PHP est moche:
          style.all.keyword=fore:#00007F,bold
          style.all.comment=fore:#007F00,$(font.comment)
          style.all.number=fore:#007F7F
          style.all.string=fore:#7F007F,$(font.monospace)
          style.all.string.2=fore:#7F0000,$(font.monospace)
          style.all.variable=fore:#2222dd,bold
          style.all.variable.intext=fore:#7F0000,$(font.monospace),bold
          style.all.operator=bold
          style.hypertext.118=fore:#000000,back:#FFFFFF,eolfilled
          style.hypertext.119=$(style.all.string.2),back:#FFFFFF
          style.hypertext.120=$(style.all.string),back:#FFFFFF
          style.hypertext.121=$(style.all.keyword),back:#FFFFFF
          style.hypertext.122=$(style.all.number),back:#FFFFFF
          style.hypertext.123=$(style.all.variable),back:#FFFFFF
          style.hypertext.124=$(style.all.comment),back:#FFFFFF
          style.hypertext.125=$(style.all.comment),back:#FFFFFF
          style.hypertext.126=$(style.all.variable.intext),back:#FFFFFF
          style.hypertext.127=$(style.all.operator),back:#FFFFFF


          Avec ça et deux trois autres options, je tiens enfin l'éditeur de mes rêves (enfin, non, il n'est pas scriptable en Python. Disons qu'on s'en approche beaucoup)

      [^]Re: complements

      Posté par kadreg (page perso, ) le 04/09/2006 à 09:15. (lien). Évalué à 2.

      Remarque, tout ça doit pouvoir se résumer par "extensible"...

      pas tout à fait. L'extensibilité est un moyen de le faire. Mais mon problème n'ai pas d'avoir un éditeur ou ce soit possible de le réaliser, mais un éditeur où c'est réalisé.