Domanda

Sto usando il Lisp e fuori per un po', ma sto iniziando a ottenere più seriamente di fare qualche lavoro "vero" in Lisp.Io sono un grande Vim fan e mi chiedevo come posso essere più produttivi con Vim come il mio editor per Lisp sviluppo.Plugin e il flusso di lavoro suggerimenti, etc.sono tutti benvenuti.

Per favore non dire "usare emacs" come ho già dilagato su Vim e mi sto davvero godendo come un editor.

È stato utile?

Soluzione

Limp mira ad essere un completo, Common Lisp IDE per Vim.L'impostazione di default è SBCL, ma può essere modificato per supportare la maggior parte delle altre implementazioni, sostituendo "sbcl" per i vostri preferiti lisp, nel file /usr/local/limp/latest/bin/lisp.sh

Quando si parla Lisp in questi giorni, è comunemente considerati Common Lisp, la lingua standardizzata dall'ANSI X3J13 (vedere il HyperSpec, e Pratico Common Lisp per un buon libro di testo) con le implementazioni come GNU Clisp, SBCL, CMUCL, AllegroCL, e molti altri.

Torna a Zoppicare.Ci sono altre soluzioni, che sono più leggeri, o provare a fare altre cose, ma io credo nel fornire un ambiente che ti dà le cose come staffa di corrispondenza, evidenziando, di documentazione, di ricerca, ovveroil che rende una soluzione chiavi in mano per quanto possibile.

In i Limp repository troverete alcuni dei lavori precedenti dell'SlimVim progetto, vale a dire l'ECL (Integrabile Common Lisp) interfaccia, unite con le versioni successive (7.1);Simon ha anche fatto patch 7.2 ancora disponibile per essere unite.L'ECL interfaccia è documentata in if_ecl.txt.

Il lavoro a breve termine è quello di fare, ha detto la fusione con la 7.2 e inviare una patch per vim_dev per ottenere la fusione ufficiale Vim albero.

Il che ci porta ai piani a lungo termine:avendo Lisp direttamente in Vim ti fanno comodo per iniziare a lavorare su un SWANK front-end (la parte di MELMA che corre in tuo Lisp, con la melma.el essere la parte che viene eseguito in editor - frontend).

E da qualche parte nel mezzo, è probabile che tutti i Limp sarà riscritto in Common Lisp utilizzando l'ECL interfaccia, che rende Molli più facile da mantenere (VimScript non è il mio preferito) e di essere più facile per gli utenti di personalizzare.

Il ufficiale Zoppicando sito scende da tempo, ma come ha sottolineato, il download Vim.org dovrebbe funzionare sempre, e i gruppi di sostegno limp-devel e limp-utente sono ospitati con Google Gruppi.Non esitate a partecipare se ti senti bisogno di una domanda ha risposto, o forse vuoi unirti a di sviluppo.La maggior parte del dibattito si svolge sul limp-devel elenco.Se siete in IRC, sono in #inerte sul irc.freenode.net come 'tic'.

Buona fortuna!

Altri suggerimenti

Si potrebbe dare slimv una pausa.

Ecco un luogo fresco e schema Xach che riassume la situazione attuale.

diagram explaining that there are nearly no VIM users that are also Lisp programmers and can also hack it to make it a good Lisp IDE... lousy alt text :)

MELMA per EMACS è un meraviglioso strumento per la programmazione LISP.La parte migliore è l'invio di codice scritto nel vostro editor dritto per un live LISP sessione.È possibile ottenere un comportamento simile di Vim utilizzando i suggerimenti qui:

http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/

Ho regolato il mio script in modo che io possa inviare un SBCL o Clojure la sessione.Ti fa molto più produttivo e approfitta della REPL.

":imposta il lisp" inizia il lisp rientro modalità per Vim.Ma non funziona con alcuni dialetti come Clojure.Per Clojure, utilizzare VimClojure.

Alcune persone, come LIMP anche.

:set di lisp

Vim è un modo per aiutare il rientro codice Lisp standard.

Inoltre, modificare il lispwords per modificare la modalità di vim rientri il mio codice.

:setl lw-=se (in ~/.vim/ftplugin/lisp.vim)

  • Vim add-ons:Arcobaleno Parentesi, sintassi Lisp
  • SBCL add-ons:rlwrap, sb-aclrepl
  • Flusso di lavoro:Ion3 (o qualche altro piastrellati WM) con più finestre di terminale.

    • Edit Lisp in Vim
    • Interruttore per Lisp finestra (usando la tastiera del corso)
    • Utilizzare il C-r per richiamare la linea di ricaricare la ASDF sistema in questione in modo che le modifiche diventino attive.
    • Uso X Finestra copia/incolla per piccoli frammenti/modifiche.
    • Utilizzare DESCRIVERE, TRACCIA e a PROPOSITO pesantemente.
    • Ripetere.

Si può dare di Emacs, Vim emulazione di una prova, non è perfetto, ma può essere un po ' familiare.Penso Lisp brilla se si utilizza qualcosa come Melma o DrScheme facendo lo sviluppo iterativo, tutti gli altri editor di sentire sbagliato.

Qui ci sono 9 anni dopo, e ora abbiamo Vim 8 e Neovim, sia fornendo la capacità di interagire con i plugin in modo asincrono.

vlime è un ottimo e ricco di funzionalità, plugin che sfrutta la nuova interfaccia asincrona per fornire una MELMA come dev ambiente Common Lisp.

So che hai detto di non dirti di usare Emacs.

Utilizzare Emacs.

Gravi, la MELMA installazione per Emacs è praticamente il piattaforma di sviluppo standard per Lisp, e per una buona ragione.

Sembra ci siano stati dei tentativi di avere una MELMA come l'integrazione di Lisp in Vim, ma nessuno ha davvero fatto quanto necessario per essere davvero utili.Penso ECL integrazione è stato fatto, ma non commesso a monte.

Si dovrebbe trovare tutti i link utili da Cliki la pagina su Vim.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top