2011-11-02 19 views
14

Sto facendo i miei primi passi con Clojure, ma per qualche motivo i tasti su/giù non mi permettono di scorrere la cronologia dei comandi nel REPL come nei REPL di altri linguaggi. Il REPL Clojure usa chiavi diverse per accedere alla cronologia dei comandi, o questa funzionalità non è ancora implementata (ancora)?Cronologia in Clojure REPL

risposta

6

È possibile migliorare REPL per eseguire questa operazione utilizzando JLine, vedere here.

+0

Sono in esecuzione Ubuntu, JLine fissa la storia a discapito di rompere cancellare? –

20

Se per caso si utilizza un ambiente simile a Unix, è possibile utilizzare rlwrap per ottenere cose belle come la cronologia della riga di comando e Ctrl-R per la ricerca.

anteponi tuo comando che si usa per avviare repl, per esempio:

rlwrap java -cp clojure.jar clojure.main

+1

ha funzionato bene, su os x. Ho appena fatto "brew install rlwrap" ed ero pronto per partire. Anche Lein funziona alla grande. – jtruelove

+0

il comando precedente non ha funzionato per me, ma una variante più semplice ha fatto: rlwrap lein repl –

+1

@JeroenvanDijk: il comando precedente funziona anche se non è stato installato lein, ma si presuppone che si imposti il ​​classpath (il ' cp' parametro) per puntare correttamente al vaso del clojure, in questo caso nella stessa directory. Se si utilizza lein (che in realtà è il metodo consigliato) non è necessario digitare 'rlwrap' affatto - viene fornito con questa funzionalità, provalo - solo' lein repl'. –

8

Oppure utilizzare Leiningen o torta. Ciascuno di questi è utile in generale, e sarai felice di imparare a usarli, ma in particolare usano automaticamente readline o jline dove disponibili.

+1

+ 2! 'lein repl' è il tuo amico –

+0

'lein swank' è anche tuo amico, quindi emacs fornirà evidenziazione della sintassi, paredit e altre chicche. – klang

2

Dipende dal REPL che si utilizza. I REPL più buoni hanno questa funzionalità e altro ancora.

Se si proviene da Java come utente Eclipse, ad esempio, è possibile utilizzare lo nREPL incorporato fornito dal plug-in in senso antiorario. Ho trovato questo più facile da usare rispetto alla configurazione di un ambiente Clojure dedicato separato.

Problemi correlati