2009-02-02 20 views
5

Per un po 'di tempo, ho utilizzato UltraEdit nella mia scatola di Windows. La capacità di scrivere script con un linguaggio familiare (JavaScript) si è dimostrata estremamente utile. L'unico problema è che non posso usarlo sulla mia macchina Linux al lavoro. Esiste un editor di testo analogo che funziona su Linux e ha un motore di scripting integrato?Editor di testi con script ... per Linux

Non rompere la banca ed essere cross-platform sarebbe fantastico.

MODIFICA: Mentre i macro registrabili sono grandi, io uso il motore di scripting molto di più.

risposta

2

Sembra che Komodo Edit, SciTE e Eclipse Monkey siano i vincitori. Komodo Edit sembra essere più simile a Ultra Edit. SciTE è qualcosa che ho usato prima, e Lua non è così difficile; SciTE's API tuttavia non sembra esteso come Komodo Edit's API. Eclipse Monkey è qualcosa che sicuramente userò, ma richiede Eclipse, che non è sicuramente un editor di testo.

EDIT: UltraEdit è in arrivo per Mac e Linux Presto.

2

È una specie di cliché, ma emacs. O sto fraintendendo quale sia il motore di script della UE?

2

Prova Emacs, XEmacs o GNU Emacs.

4

emacs è gratuito e ha il proprio dialetto Lisp incorporato che può essere usato per scrivere quasi tutto, compreso lo scripting luce così come mail user agent e IRC clienti ;-)

C'è un po 'di una curva di apprendimento, ma la mia esperienza con emacs è stata molto positiva. Non mi piacciono troppo le interfacce modali e nessun altro editor mette le scorciatoie di navigazione direttamente sotto le dita.

+0

Mi piace discutere con gli utenti di emacs a riguardo. Emacs * è * modale. C'è la modalità ctrl, la modalità shift, la modalità meta. L'unica differenza è che in vi, il cambio di modalità è su chiavi diverse (esc e i) invece della stessa chiave. –

+1

L'altra differenza è che emacs lascia "modalità ctrl" quando si rilascia ctrl, non quando si preme un altro tasto. E in realtà non sarei d'accordo. La scorciatoia "C-c." sembrerebbe quindi incrociare le modalità, che suona male. In ogni caso si tratta di definizioni, che non possono essere corrette, solo (non)? Intuitive. –

+0

Bel dolore. Emacs non è modale. Stai solo giocando con la semantica per confondere piuttosto che educare.Sei sempre in modalità di modifica del testo, a meno che tu non stia inserendo attivamente un comando. Oppure, se si vuole veramente scendere alle virate, si è sempre in modalità di comando, ma alcuni comandi non fanno altro che inserire un personaggio. –

4

Io uso jEdit, che è un ottimo editor e permette di essere script con beanshell. Come è scritto in Java, funziona bene su Windows e Linux.

Simon Groenewolt ha menzionato che esiste un plug-in (JavascriptShell) che consente di scrivere macro e script anche in Javascript, non solo in Beanshell.

+0

Ho jEdit per molto tempo, ogni volta che ho bisogno di un editor di testo che abbia supporto per la codifica, ma non è un IDE completo. Forse il JavascriptScriptEnginePlugin supporta persino lo script in javascript? –

+0

Hai ragione, la descrizione del plugin dice: 'Il plugin JavaScriptShell aggiunge a jEdit un nuovo gestore di script in modo da poter scrivere macro e script di avvio in JavaScript. Aggiunge anche la shell JavaScript all'interfaccia della console fornita dal plugin della console. ' Quindi è possibile lo scripting in Javascript. – Mnementh

+0

Uso javascriptshell per scrivere i miei macro jedit la maggior parte del tempo, ma a causa della natura sandbox dello scriptrunner, alcune opzioni non sono disponibili dalle macro di js, ma per le cose più piccole o l'esecuzione di librerie js è estremamente utile. – Szabi

3

Se non è necessario uno scripting davvero complesso, vim/gvim consente di registrare una sequenza di tasti e riprodurla. E puoi dare un conteggio delle ripetizioni alla riproduzione, in modo da poter registrare un'operazione su una riga, quindi ripetere per le successive 10.000 linee in un solo passaggio.

+0

Sono un grande fan di vim - grazie per averlo suggerito qui :) – inkedmn

30

Tutti i principali editor open source e molti altri hanno una funzione di scripting di qualche descrizione - alcuni (in particolare Emacs) sono famosi per questo. Gli unici che non tendono ad essere quelli molto leggeri come pico.

vim ha un native scripting language e può anche essere costruito con incorporati Python,Tcl o Perl interepreters in grado di operare su selezioni, tamponi ecc attraverso il meccanismo plugin. Emacs è interamente basato sullo scripting: ha un interprete LISP integrato direttamente nel nucleo del sistema e la maggior parte dell'editor è scritta in LISP. C'è uno scherzo su emacs che lo descrive come un interprete LISP che qualcuno ha appena usato per scrivere un editor di testo.

L'interfaccia utente di Vim deriva da vi, che è piuttosto bizzarra ma molto potente una volta che ci si abitua. Anche i macro di tastiera registrati sono particolarmente buoni e hanno una funzione di ricerca/sostituzione di espressioni regolari molto bella.

Emacs è considerato un po 'una mostruosità barocca ed è molto grande e complesso. Tuttavia, la sua capacità di scripting non è seconda a nessuno e c'è un enormous variety of macro packages che fa molte cose. Ha un seguito molto fedele di persone che lo giurano; una volta superata la curva di apprendimento (c'è un enorme corpo di risorse sul web per aiutare in questo) è davvero un sistema molto potente. Puoi personalizzare emacs in un intero IDE e ci sono persone in giro che sostengono di passare la maggior parte del loro tempo in metropolitana.

Entrambi questi editor possono funzionare in modalità testo o con una GUI e sono altamente portatili, in esecuzione su un'ampia varietà di piattaforme. Sono entrambi open-source.

Ho usato entrambi; Ero abituato a usare XEmacs (un importante fork di codice di emacs che risale a diversi anni) negli anni '90, ma poi sono andato su Vim. Uso anche vim su Windows.

Se si trova un po 'troppo l'interfaccia utente di Vim o di Emacs, sono disponibili variety of other text editors, molti dei quali offrono script. Esempi di questi sono SciTE, che ha un interprete Lua incorporato, NEdit, che ha una lingua macro homebrew o GEdit, che è sostanzialmente scritto in Python (che può essere utilizzato anche per lo scripting) e ha un'API di plugin.

EDIT: Al di fuori di un paio di progetti specifici (ad esempio Mozilla) Javascript non ha mai avuto molta trazione come uno stand-alone o linguaggio di scripting incorporato negli ambienti open-source. Storicamente non esisteva un popolare interprete Javascript open source che ottenesse un consenso diffuso nel modo in cui lo facevano Python o Tcl/Tk. Javascript è più ampiamente usato in sistemi closed source come UltraEdit o InDesign (per nominare una coppia) mentre altre lingue erano più popolari su progetti open-source.

Nessuno degli editor di testo open source che sono a conoscenza di funzionalità javascript come opzione per un linguaggio di scripting (sentiti libero di intervenire e commentare o modificare questo se ne conosci uno). Probabilmente dovrai spostare Javascript su un'altra lingua come Python o LISP. Tuttavia, ora che QT viene fornito con un interprete Javascript (QTScript), potresti trovare alcuni di quelli basati su KDE che offrono questa opzione come opzione di scripting, ma non ne sono specificamente consapevole.

+1

Komodo Edit, come suggerito da Ionut G. Stan. Non è OSS però. – geowa4

+0

Ama come hai coperto tutto. +1. –

4

Vim è onnipresente e vimscript è molto semplice e di modifica del testo orientato: http://vimdoc.sourceforge.net/htmldoc/usr_41.html

che viene fornito di default. Puoi anche usare Python, Ruby, Perl, Scheme ... ma questo richiede la compilazione.

Python potrebbe essere una buona scelta, dal momento che Omnicomplete lo richiede. Ho eseguito un binario separato per omnicomplete comunque dato che mi piace il vim ultra-magre per altro uso, controllare qui: http://vim.wikia.com/wiki/Compile_a_separate_copy_of_Vim_for_Python_coding

pitone Onestamente non ho usato per lo script vim per sé. Io di solito codice, python o meno, con vanilla vim e senza auto-completamento. Comunque chiamo python e qualsiasi altro comando da parte di vim per elaborare i miei file riga per riga, potrei rispondere con altro su questo se sei interessato, ma questo non richiede di compilare nulla, funziona così com'è.

EDIT: se si desidera un editor di point-and-click, è possibile eseguire Crema su gVim http://cream.sourceforge.net/download.html Continuo a pensare che vim richiede poco tempo per abituarsi ed è molto vale la pena di apprendimento, più se si considera è possibile utilizzare il Conoscenza di base vi per connettersi a un server tramite SSH senza problemi, ed è installato in qualsiasi * nix. Mi piace la conoscenza che posso riutilizzare, mi fa risparmiare tempo e problemi a lungo termine.

2

Io uso gedit. Puoi scrivere plugin in Python.

3

Wow, davvero non voglio iniziare una guerra santa qui, ma tutte queste raccomandazioni di Emacs sono un po 'assenti. Emacs è molto potente, ma siamo onesti. Non ha una curva di apprendimento tanto quanto un WALL di apprendimento. Passare da un editor in stile IDE point-and-click come UltraEdit sarà un enorme shock culturale.

E onestamente, quando qualcuno dice che gli piace scrivere script in javascript e cerca qualcosa di simile in Linux, la prima cosa che dici è "learn LISP"?!

Questo è perché la gente pensa Linux è difficile da usare


ho intenzione di andare in un'altra direzione completamente e suggerire Aptana Studio

Si è dotato di evidenziazione e completamento del codice per una varietà di lingue e supporta lo scripting in javascript con Eclipse Monkey. È basato su Eclipse e quindi gira su Java quindi su multipiattaforma. Ed è disponibile gratuitamente.

+0

grazie, ma l'unico problema è il tempo necessario per caricare Aptana/Eclipse. – geowa4

2

Komodo Edit è realizzato in cima a XUL Runner di Mozilla. Offre la possibilità di estenderlo completamente estensioni (come Firefox) o macro, snippet, comandi. Puoi scrivere questi snippet sia in JavaScript che in Python, il che è bello, ma devi ancora sapere the API per fare qualcosa di utile.

In fase di costruzione con la tecnologia Mozilla, funziona anche su Linux.

1

Il modo tradizionale per eseguire il text editing di script in Linux consiste nell'utilizzare le funzionalità che sono (quasi) sempre disponibili in * nix: sed, awk, grep, cose di questa natura. Certo, forse non sembrano essere "a portata di mano" come si potrebbe trovare un motore Javascript integrato, ma sono molto maturi e funzionano bene. Se questo linguaggio di scripting DEVE essere all'interno dell'editor, anche qui Emacs è probabilmente un buon esempio.

È possibile utilizzare una soluzione di tipo "integrato" per risolvere il problema, come molti altri hanno menzionato, ma IMHO la linea di comando è più potente in questo senso.

0

SciTE può essere programmato con Lua ed è un editor semplice e buono che si comporta allo stesso modo se si passa da Linux a Windows ogni giorno.

0

Non so per cosa si stiano utilizzando le funzionalità di scripting nel proprio editor, ma si consiglia di considerare l'automazione di tali attività utilizzando strumenti da riga di comando Linux come sed o awk.

Problemi correlati