Éditeur de texte avec scripting … pour Linux

Depuis quelque temps, j’utilise UltraEdit sur ma boîte Windows. La possibilité d’écrire des scripts avec un langage familier (JavaScript) s’est avérée extrêmement utile. Le seul problème est que je ne peux pas l’utiliser sur ma machine Linux au travail. Existe-t-il un éditeur de texte comparable sous Linux et doté d’un moteur de script intégré?

Ne pas casser la banque et être multi-plateforme serait génial.

EDIT: Bien que les macros enregistrables soient géniales, j’utilise le moteur de script beaucoup plus.

Tous les éditeurs open-source majeurs et la plupart des autres ont une certaine facilité de script – certains (Emacs en particulier) en sont célèbres. Les seuls qui ne tendent pas à être très légers comme pico.

vim possède un langage de script natif et peut également être construit avec des interéprètres intégrés Python, Tcl ou Perl pouvant fonctionner sur des sélections, des tampons, etc. via le mécanisme du plugin. Emacs est tout au sujet du script – il a un interpréteur LISP construit directement dans le kernel du système et la plupart de l’éditeur est écrit dans LISP. Il y a une blague courante sur emacs le décrivant comme un interpréteur LISP que quelqu’un vient juste d’utiliser pour écrire un éditeur de texte.

L’interface utilisateur de Vim est issue de vi, ce qui est quelque peu bizarre mais très puissant une fois que vous vous y êtes habitué. Il fait aussi particulièrement bien les macros de clavier enregistrées et possède une très bonne facilité de recherche / remplacement des expressions régulières.

Emacs est considéré comme un monstre baroque et est très vaste et complexe. Cependant, sa capacité de script est incomparable et il existe une grande variété de macros qui font beaucoup de choses. Il a un suivi très fidèle des gens qui ne jurent que par lui; Une fois que vous avez dépassé la courbe d’apprentissage (il existe un énorme volume de ressources sur le Web pour vous aider), le système est vraiment très puissant. Vous pouvez personnaliser emacs en un IDE complet et il y a des personnes autour de vous qui prétendent y passer la majorité de leur temps de tube.

Ces deux éditeurs peuvent fonctionner en mode texte ou avec une interface graphique et sont très portables, s’exécutant sur une grande variété de plates-formes. Ils sont tous deux open-source.

J’ai utilisé les deux; Dans les années 90, j’utilisais XEmacs (un grand code-fourchette des emacs datant de plusieurs années), mais je suis allé plus tard. J’utilise même vim sous Windows.

Si vous trouvez que l’interface utilisateur de Vim ou d’Emacs est un peu trop complexe, il existe une variété d’autres éditeurs de texte , dont beaucoup proposent des scripts. Des exemples sont SciTE , qui a un interpréteur Lua intégré, NEdit, qui a son propre langage de macro-homebrew ou GEdit , qui est écrit en Python (qui peut aussi être utilisé pour le scripter) et qui a une API de plugin.

EDIT: En dehors de quelques projets spécifiques (par exemple, Mozilla ), le Javascript n’a jamais été très intéressant en tant que langage de script autonome ou intégré dans les cercles open source. Historiquement, il n’existait pas d’interpréteur Javascript open-source populaire qui ait été largement accepté comme Python ou Tcl / Tk. Le javascript est plus largement utilisé dans les systèmes à sources fermées tels que UltraEdit ou InDesign (pour en nommer quelques-uns) alors que d’autres langages étaient plus populaires sur les projets open-source.

Aucun des éditeurs de texte open source dont je suis au courant n’a proposé javascript comme option pour un langage de script (n’hésitez pas à intervenir et à commenter ou à modifier ceci si vous en connaissez un). Vous devrez probablement déplacer Javascript vers un autre langage tel que Python ou LISP. Cependant, maintenant que QT est fourni avec un interpréteur Javascript (QTScript), vous pouvez trouver certains de ceux basés sur KDE qui offrent cela comme une option de script, mais je ne suis pas particulièrement au courant.

emacs est gratuit et possède son propre dialecte lisp qui peut être utilisé pour écrire presque n’importe quoi, y compris des scripts légers ainsi que des agents utilisateurs de messagerie et des clients IRC 😉

Il y a un peu de temps d’apprentissage, mais mon expérience avec emacs a été très positive. Je n’aime pas trop les interfaces modales et aucun autre éditeur ne place les raccourcis de navigation sous vos doigts.

Vim est omniprésent et vimscript est vraiment facile et orienté vers l’édition de texte: http://vimdoc.sourceforge.net/htmldoc/usr_41.html

Cela vient par défaut. Vous pouvez également utiliser Python, Ruby, Perl, Scheme … mais cela nécessite une compilation.

Python pourrait être un bon choix, car omnicomplete le requirejs. De toute façon, je lance un binary séparé pour omnicomplete, car j’aime le vim ultra-maigre pour d’autres utilisations, consultez ici: http://vim.wikia.com/wiki/Comstack_a_separate_copy_of_Vim_for_Python_coding

Honnêtement, je n’ai pas utilisé python pour script vim en soi. Je code généralement, python ou pas, avec vanilla vim et pas de complétion automatique. Cependant, j’appelle python et toute autre commande de vim pour traiter mes fichiers ligne par ligne, peut répondre avec plus de détails si cela vous intéresse, mais cela ne nécessite pas de comstackr quoi que ce soit, fonctionne tel quel.

EDIT: si vous voulez un éditeur point-and-click, vous pouvez lancer Cream sur gVim http://cream.sourceforge.net/download.html Je pense toujours que Vim prend peu de temps pour s’y habituer et vaut vraiment la peine d’apprendre, d’autant plus que vous pouvez utiliser votre connaissance de base vi pour vous connecter à un serveur via SSH sans problème, et il est installé dans n’importe quel * nix. J’aime la connaissance que je peux réutiliser, me fait gagner du temps et des ennuis à long terme.

J’utilise jEdit , qui est un excellent éditeur et permet de créer des scripts avec beanshell. Comme il est écrit en Java, il fonctionne bien sous Windows et Linux.

Simon Groenewolt a mentionné qu’il existe un plugin ( JavascriptShell ) qui vous permet d’écrire des macros et des scripts également en Javascript, pas seulement dans Beanshell.

Si vous n’avez pas besoin de scripts vraiment complexes, vim / gvim vous permet d’enregistrer une séquence de touches et de la lire. Et vous pouvez donner un nombre de répétitions à la lecture, vous pouvez donc enregistrer une opération sur une ligne, puis la répéter pour les 10 000 lignes suivantes en une seule étape.

Wow, je ne veux vraiment pas commencer une guerre sainte ici, mais toutes ces recommandations d’Emacs manquent un peu de propos. Emacs est très puissant, mais soyons honnêtes. Il n’y a pas de courbe d’apprentissage autant qu’un apprentissage WALL. Passer d’un éditeur de style IDE point-and-click comme UltraEdit va être un énorme choc culturel.

Et honnêtement, quand quelqu’un dit qu’il aime écrire des scripts en javascript, et que vous cherchez quelque chose de similaire dans Linux, la première chose que vous dites est “apprendre LISP” ?!

C’est pourquoi les gens pensent que Linux est difficile à utiliser


Je vais aller dans une autre direction et proposer Aptana Studio

Il a intégré la mise en évidence et l’achèvement du code pour une variété de langues et supporte les scripts en javascript avec Eclipse Monkey . Il est basé sur Eclipse et s’exécute donc sur Java donc multiplateforme. Et il est disponible gratuitement.

C’est un peu un cliché, mais emacs. Ou est-ce que je comprends mal quel est le moteur de script de l’UE?

Essayez Emacs, XEmacs ou GNU Emacs.

J’utilise gedit. Vous pouvez écrire des plugins en Python.

Komodo Edit est créé sur le XUL Runner de Mozilla. Il offre des possibilités d’extension complète, soit des extensions (comme Firefox) ou des macros, des extraits, des commandes. Vous pouvez écrire ces extraits dans JavaScript ou Python, ce qui est bien, mais vous devez toujours connaître l’API pour faire quelque chose d’utile.

Construit avec la technologie Mozilla, il fonctionne également sous Linux.

Il semble que Komodo Edit , SciTE et Eclipse Monkey soient les gagnants. Komodo Edit semble être le plus similaire à Ultra Edit. SciTE est quelque chose que j’ai déjà utilisé, et Lua n’est pas si difficile. L’API de SciTE ne semble cependant pas aussi étendue que l’API de Komodo Edit . Eclipse Monkey est quelque chose que je vais certainement utiliser, mais il nécessite Eclipse, qui n’est certainement pas un éditeur de texte.

EDIT: UltraEdit sortira bientôt pour Mac et Linux.

La méthode traditionnelle pour éditer du texte scripté sous Linux consiste à utiliser les fonctionnalités (presque) toujours disponibles dans * nixes: sed, awk, grep, des choses de cette nature. Bien sûr, ils ne semblent peut-être pas aussi “pratiques” qu’un moteur Javascript intégré, mais ils sont très matures et fonctionnent bien. Si ce langage de script DOIT être dans l’éditeur, Emacs est probablement aussi un bon ici.

Vous pouvez utiliser une solution de type “intégré” pour résoudre le problème, comme beaucoup d’autres l’ont mentionné, mais à mon humble avis, la ligne de commande est plus puissante à cet égard.

SciTE peut être scripté avec Lua et est un bon éditeur simple qui se comporte de la même manière si vous passez de Linux à Windows tous les jours.

Je ne sais pas pour quoi vous utilisez les fonctionnalités de script de votre éditeur, mais vous pouvez envisager d’automatiser ces tâches à l’aide d’outils de ligne de commande Linux tels que sed ou awk .