Od jakiegoś czasu używam Lispa z przerwami, ale zaczynam poważniej podchodzić do wykonywania „prawdziwej” pracy w Lisp. Jestem wielkim fanem Vima i zastanawiałem się, jak mogę być najbardziej produktywny, używając Vima jako mojego edytora do rozwoju Lispa. Wtyczki, sugestie dotyczące przepływu pracy itp. Są mile widziane.
Proszę, nie mów "użyj emacsa", ponieważ już rozwinąłem Vima i naprawdę podoba mi się to jako edytor.
vim
ide
lisp
common-lisp
Drew Olson
źródło
źródło
Odpowiedzi:
Limp ma być w pełni funkcjonalnym środowiskiem Common Lisp IDE dla Vima. Domyślnie jest to SBCL, ale można go zmienić, aby obsługiwał większość innych implementacji, zastępując „sbcl” ulubionym lispem w pliku /usr/local/limp/latest/bin/lisp.sh
Omawiając Lisp w dzisiejszych czasach, powszechnie przyjmuje się, że jest to Common Lisp, język znormalizowany przez ANSI X3J13 (patrz HyperSpec i Practical Common Lisp dla dobrego podręcznika) z implementacjami takimi jak GNU Clisp, SBCL, CMUCL, AllegroCL i wiele inni.
Powrót do Limp. Istnieją inne rozwiązania, które są lżejsze lub próbują robić inne rzeczy, ale wierzę w zapewnienie środowiska, które daje takie rzeczy, jak dopasowywanie nawiasów, podświetlanie, przeszukiwanie dokumentacji, czyli uczynienie z tego rozwiązania pod klucz w jak największym stopniu .
W repozytorium Limp znajdziesz część wcześniejszych prac projektu SlimVim, a mianowicie interfejs ECL (Embeddable Common Lisp), połączony z późniejszymi wydaniami (7.1); Simon udostępnił również łatki do 7.2, które nie zostały jeszcze połączone. Interfejs ECL jest udokumentowany w if_ecl.txt .
Krótkoterminowa praca polega na połączeniu z 7.2 i przesłaniu łatki do vim_dev, aby została włączona do oficjalnego drzewa Vima.
Co prowadzi nas do długoterminowych planów: posiadanie Lispa bezpośrednio w Vimie ułatwi rozpoczęcie pracy nad front-endem SWANK (część SLIME, która działa w Twoim Lispie, gdzie slime.el jest częścią działającą w edytor - frontend).
A gdzieś pomiędzy, jest prawdopodobne, że cały Limp zostanie przepisany w Common Lisp przy użyciu interfejsu ECL, dzięki czemu Limp będzie łatwiejszy w utrzymaniu (VimScript nie jest moim ulubionym) i będzie łatwiejszy do dostosowania przez użytkowników.
Oficjalna strona Limp idzie w dół od czasu do czasu, ale jak wspomniałem, do pobrania na Vim.org zawsze powinien pracować, a grupy wsparcia wiotki-devel i wiotki-użytkownika są przechowywane w Google Groups. Nie wahaj się dołączyć, jeśli czujesz, że potrzebujesz odpowiedzi na pytanie, a może nawet chcesz dołączyć do rozwoju. Większość dyskusji toczy się na liście bezwładnego rozwoju. Jeśli interesujesz się IRC, jestem na #limp na irc.freenode.net jako „tic”.
Powodzenia!
źródło
Możesz dać slimvowi przerwę.
źródło
Oto fajny diagram autorstwa Xacha, który podsumowuje obecną sytuację.
źródło
Sprawdź wtyczkę Limp:
http://www.vim.org/scripts/script.php?script_id=2219
źródło
SLIME for EMACS to wspaniałe narzędzie do programowania LISP. Najlepsze jest wysłanie kodu napisanego w twoim edytorze bezpośrednio do sesji LISP na żywo. Możesz uzyskać podobne zachowanie z Vima, korzystając z poniższych wskazówek:
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
Dostosowałem własny skrypt, aby móc wysyłać do sesji SBCL lub Clojure . Sprawia, że jesteś znacznie bardziej produktywny i korzysta z REPL.
": set lisp" uruchamia tryb wcięcia lisp dla Vima. Ale to nie zadziała z niektórymi dialektami, takimi jak Clojure. W przypadku Clojure użyj VimClojure .
Niektórzy ludzie również lubią LIMP .
źródło
Tutaj jesteśmy 9 lat później, a teraz mamy Vim 8 i Neovim, oba zapewniają możliwość asynchronicznej interakcji z wtyczkami.
vlime to doskonała, bogata w funkcje wtyczka, która wykorzystuje nowy interfejs asynchroniczny, aby zapewnić środowisko programistyczne podobne do SLIME dla Common Lisp.
źródło
Przepływ pracy: Ion3 (lub inny kafelkowy WM) z wieloma oknami terminala.
źródło
: zestaw lisp
Vim ma tryb, który pomoże ci w tworzeniu wcięć w kodzie według standardów Lisp.
Ponadto modyfikuję lispwords, aby zmienić sposób wcięcia mojego kodu przez vim.
: setl lw- = if (w ~ / .vim / ftplugin / lisp.vim)
źródło
Możesz spróbować Emacsa z emulacją Vima, nie jest doskonały, ale może być trochę znajomy. Myślę, że Lisp błyszczy, jeśli używasz czegoś takiego jak Slime lub DrScheme do iteracyjnego rozwoju, wszyscy inni redaktorzy czują się po prostu źle.
źródło
Wiem, że powiedziałeś, żeby nie mówić ci, żebyś używał Emacsa.
Użyj Emacsa.
Poważne, SLIME setup dla Emacs jest dość dużo standardową platformę dla rozwoju Lisp, a dla bardzo dobrego powodu.
źródło
Wydaje się, że były próby integracji Lispa podobnej do SLIME w Vimie, ale żadna nie posunęła się tak daleko, jak to konieczne, aby być naprawdę użyteczną. Myślę, że integracja ECL została jednak dokonana, ale nie została podjęta na wcześniejszym etapie.
Powinieneś znaleźć wszystkie odpowiednie linki ze strony Cliki o Vimie .
źródło