2009-02-02 12 views
5

Desde hace un tiempo, uso UltraEdit en mi cuadro de Windows. La capacidad de escribir guiones con un lenguaje familiar (JavaScript) ha demostrado ser extremadamente útil. El único problema es que no puedo usarlo en mi caja Linux en el trabajo. ¿Existe un editor de texto comparable que se ejecute en Linux y tenga un motor de scripting integrado?Editor de texto con secuencias de comandos ... para Linux

No romper el banco y ser multiplataforma sería genial.

EDITAR: Aunque las macros grabables son geniales, utilizo mucho más el motor de scripting.

Respuesta

2

Parece que Komodo Edit, SciTE y Eclipse Monkey son los ganadores. Komodo Edit parece ser muy similar a Ultra Edit. SciTE es algo que he usado antes, y Lua no es tan difícil; SciTE's API aunque no parece tan extenso como Komodo Edit's API. Eclipse Monkey es algo que definitivamente voy a usar, pero requiere Eclipse, que definitivamente no es un editor de texto.

EDIT: UltraEdit estará disponible pronto para Mac y Linux.

2

Es un tipo de cliché, pero emacs. ¿O no entiendo qué es el motor de scripts de UE?

2

Pruebe Emacs, ya sea XEmacs o GNU Emacs.

4

emacs es gratuito y tiene su propio dialecto de Lisp embebido que puede ser usado para escribir casi cualquier cosa, incluyendo secuencias de comandos luz, así como agentes de usuario de correo e IRC clientes ;-)

Hay un poco de una curva de aprendizaje, pero mi experiencia con emacs ha sido muy positiva. No me gustan demasiado las interfaces modales, y ningún otro editor pone los atajos de navegación justo debajo de sus dedos.

+0

Me gusta discutir con los usuarios de emacs sobre esto. Emacs * es * modal. Está el modo ctrl, modo shift, modo meta. La única diferencia es que en vi, el cambio de modo se realiza en diferentes teclas (esc e i) en lugar de la misma tecla. –

+1

La otra diferencia es que emacs sale del "modo ctrl" cuando sueltas ctrl, no cuando presionas otra tecla. Y yo realmente estaría en desacuerdo. El atajo "C-c". parecería cruzar modos, lo que suena mal. En cualquier caso, se trata de definiciones, que no pueden ser correctas, solo (des) intuitivas. –

+0

Buena pena. Emacs no es modal. Simplemente juegas juegos con semántica para confundir en lugar de educar.Siempre está en el modo de edición de texto, a menos que esté ingresando un comando activamente. O bien, si realmente quieres ponerte al día con las tachuelas de metal, siempre estás en modo comando, pero algunos comandos no hacen más que insertar un carácter. –

4

Yo uso jEdit, que es un gran editor y permite ser escrito con beanshell. Como está escrito en Java, funciona bien en Windows y Linux.

Simon Groenewolt menciona que existe un complemento (JavascriptShell) que le permite escribir macros y scripts también en Javascript, no solo en Beanshell.

+0

Hace tiempo que tengo jEdit, siempre que necesito un editor de texto que tenga soporte de codificación pero que no sea un IDE completo. Tal vez el JavascriptScriptEnginePlugin incluso soporta escribirlo en javascript? –

+0

Tiene razón, la descripción del complemento dice: 'El complemento JavaScriptShell agrega a jEdit un nuevo manejador de scripts para que pueda escribir macros y scripts de inicio en JavaScript. También agrega el shell de JavaScript a la interfaz de la consola proporcionada por el complemento de la consola. Por lo tanto, es posible crear scripts en Javascript. – Mnementh

+0

Uso la javascriptshell para escribir mis macros jedit la mayor parte del tiempo, pero debido a la naturaleza de espacio aislado del scriptrunner, algunas opciones no están disponibles desde las macros js, pero para cosas más pequeñas o ejecutando js libs es extremadamente útil. – Szabi

3

Si no necesita secuencias de comandos realmente complejas, vim/gvim le permite grabar una secuencia de teclas y reproducirla. Y puede repetir la reproducción, para que pueda grabar una operación en una línea y luego repetirla en las siguientes 10,000 líneas en un solo paso.

+0

Soy un gran fan de vim, gracias por sugerirlo aquí :) – inkedmn

30

Todos los principales editores de código abierto y la mayoría de los demás tienen una función de scripting de alguna descripción, algunos (Emacs en particular) son famosos por ello. Los únicos que no tienden a ser los muy ligeros como pico.

vim tiene un native scripting language y también puede ser construido con incrustados Python,Tcl o Perl interepreters que pueden operar en las selecciones, tampones, etc a través del mecanismo de plugin. Emacs tiene que ver con scripts, tiene un intérprete LISP integrado en el núcleo del sistema y la mayoría del editor está escrito en LISP. Hay una broma sobre emacs que lo describe como un intérprete de LISP que alguien acaba de usar para escribir un editor de texto.

La interfaz de usuario de Vim desciende de vi, que es algo peculiar pero muy poderoso una vez que te acostumbras. También hace macros de teclado grabadas particularmente bien y tiene una muy buena función de búsqueda/reemplazo de expresiones regulares.

Emacs es considerado como una especie de monstruosidad barroca y es muy grande y compleja. Sin embargo, su capacidad de creación de scripts es insuperable y hay un enormous variety of macro packages que hace muchas cosas. Tiene un seguimiento muy leal de personas que lo juran; una vez que haya superado la curva de aprendizaje (hay una gran cantidad de recursos en la web para ayudar con esto), es un sistema muy poderoso. Puede personalizar emacs en un IDE completo y hay personas alrededor que dicen pasar la mayor parte del tiempo de su tubo en él.

Ambos editores pueden funcionar en modo texto o con una GUI y son muy portátiles, se ejecutan en una amplia variedad de plataformas. Ambos son de código abierto.

He usado ambos; Yo solía usar XEmacs (un código-tenedor clave de emacs que se remonta a varios años) en la década de 1990, pero fue a vim más adelante. Incluso uso vim en Windows.

Si encuentra que la interfaz de usuario de Vim o Emacs es demasiado, hay un variety of other text editors disponible, muchos de los cuales ofrecen secuencias de comandos. Ejemplos de esto son SciTE, que tiene incorporado el intérprete Lua, NEdit, que tiene un lenguaje de macro homebrew propio o GEdit, que está sustancialmente escrito en Python (que también se puede usar para crear scripts) y tiene una API de complemento.

EDIT: Fuera de algunos proyectos específicos (por ejemplo Mozilla) Javascript no tiene mucha tracción como autónomo o lenguaje de script incrustado en los círculos de código abierto. Históricamente, no existía un popular intérprete de JavaScript de código abierto que obtuvo una amplia aceptación en la forma en que Python o Tcl/Tk lo hicieron. Javascript es más utilizado en sistemas de código cerrado como UltraEdit o InDesign (por nombrar un par) mientras que otros lenguajes eran más populares en proyectos de código abierto.

Ninguno de los editores de texto de código abierto que conozco tienen javascript como opción para un lenguaje de scripting (siéntase libre de intervenir y comentar o editar esto si conoce uno). Es probable que tenga que pasar de Javascript a otro idioma, como Python o LISP. Sin embargo, ahora que QT viene con un intérprete de Javascript (QTScript) puede que encuentre algunos de los basados ​​en KDE que ofrecen esto como una opción de guiones, pero no estoy específicamente al tanto de ninguno.

+1

Komodo Edit, como lo sugirió Ionut G. Stan. Sin embargo, no es un OSS. – geowa4

+0

Me encanta cómo cubriste todo. +1. –

4

Vim es omnipresente y Vimscript es realmente fácil y orientado de edición de texto: http://vimdoc.sourceforge.net/htmldoc/usr_41.html

que viene por defecto. También puede usar Python, Ruby, Perl, Scheme ... pero eso requiere compilación.

Python puede ser una buena opción, ya que omnicomplete lo requiere. Tengo un binario independiente para omnicomplete de todos modos ya que me gusta el vim ultra pobre para otro uso, marque aquí: http://vim.wikia.com/wiki/Compile_a_separate_copy_of_Vim_for_Python_coding

pitón Honestamente no he utilizado para la escritura vim per se. Normalmente código, python o no, con vainilla vim y sin autocompletar. Sin embargo, llamo a python y a cualquier otro comando de vim para procesar mis archivos línea por línea, podría responder más sobre eso si estás interesado, pero eso no requiere compilar nada, funciona como está.

EDIT: si quieres un editor de apuntar y hacer clic, puede ejecutar Crema en gVim http://cream.sourceforge.net/download.html sigo pensando que vim toma poco tiempo para acostumbrarse y es muy vale la pena aprender, más aún teniendo en cuenta que puede utilizar su el conocimiento básico de vi para conectarse a un servidor a través de SSH no es problema, y ​​está instalado en cualquier * nix. Me gusta el conocimiento que puedo reutilizar, me ahorra tiempo y problemas a largo plazo.

2

Uso gedit. Puedes escribir complementos en Python.

3

Guau, realmente no quiero comenzar una guerra santa aquí, pero todas estas recomendaciones de Emacs están perdiendo el sentido. Emacs es muy poderoso, pero seamos honestos. No tiene una curva de aprendizaje tanto como una PARED de aprendizaje. Pasar de un editor de estilo IDE de apuntar y hacer clic como UltraEdit va a ser un gran choque cultural.

Y, sinceramente, cuando alguien dice que le gusta escribir scripts en javascript, y está buscando algo similar en Linux, lo primero que dice es "learn LISP"?!

Esta es la razón por la gente piensa que Linux es difícil de usar


Voy a ir en otra dirección completamente y sugerir Aptana Studio

Se ha incorporado en relieve y el código de finalización para una variedad de idiomas, y admite scripts en javascript con Eclipse Monkey. Se basa en Eclipse, y por lo tanto se ejecuta en Java, por lo tanto, multiplataforma. Y está disponible de forma gratuita.

+0

gracias, pero el único problema es cuánto tiempo tarda Aptana/Eclipse en cargar. – geowa4

2

Komodo Edit está hecho en la parte superior del XUL Runner de Mozilla. Ofrece posibilidades para extenderlo a través de extensiones (como Firefox) o macros, fragmentos, comandos. Puede escribir estos fragmentos en JavaScript o Python, lo cual es bueno, pero aún debe saber the API para hacer algo útil.

Al estar construido con tecnología Mozilla, también se ejecuta en Linux.

1

La forma tradicional de hacer edición de texto con scripts en Linux es utilizar las instalaciones que (casi) siempre han estado disponibles en * nixes: sed, awk, grep, cosas de esa naturaleza. Claro, tal vez no parezcan tan "prácticos" como uno podría encontrar un motor integrado de Javascript, pero son muy maduros y funcionan bien. Si este lenguaje de scripting DEBE estar dentro del editor, probablemente Emacs también sea bueno aquí.

Puede utilizar una solución tipo "integrada" para resolver el problema, como muchos otros han mencionado, pero en mi humilde opinión, la línea de comandos es más poderosa en este sentido.

0

SciTE se puede escribir con Lua y es un editor bueno y simple que se comporta de la misma manera si se cambia entre Linux y Windows todos los días.

0

No sé para qué usa las capacidades de scripting en su editor, pero puede considerar automatizar esas tareas usando herramientas de línea de comandos de Linux como sed o awk.

Cuestiones relacionadas