2013-06-06 17 views
13

Użyłem vima przez dość długi czas i nadal jestem z niego zadowolony. Zacząłem uczyć się clojure 6 miesięcy temu. Wydaje się, że emacs jest pierwszym wyborem do programowania w języku lispy. Ale wolałbym nauczyć się czegoś innego niż spędzać dużo czasu na nauce korzystania z edytora, który nie jest oczywiście lepszy od vima.Czy vim jest już wystarczająco dobry do programowania clojure?

Tak więc starałem się, aby moja konfiguracja vima była bardziej odpowiednia do programowania clojure.

Co Obecnie używam to:

  • vim-clojure-static, który zapewnia podstawowe podświetlanie składni
  • paredit, który zapewnia zmienił strukturalną na S-wyrażenia
  • vim-kominkiem, który mogę rozmawiać ze zdalną repliką wewnątrz vim

Używam również vim-redl, redl, aby uzyskać replikę debugowania, ale IMO trzy powyższe mogą już zapewnić całkiem przyjemne doświadczenie kodowania.

Moje pytanie brzmi: czy nadal brakuje mi niektórych zabójczych cech przepływu pracy emacs?

+0

* niektóre funkcje zabójcy * Oczywiście nie można rozszerzać vima o seplenienie, podczas pisania seplenienia. Musisz uciekać się do wyalienowanego [VimL] (https://en.wikipedia.org/wiki/Vim_script). –

+6

Spróbuj emacs z [Evil mode] (http://www.emacswiki.org/emacs/Evil). Jest to warstwa emulacji VIM, która jest całkiem niezła, zgodnie z ex-VIMers, więc możesz używać Emacs takich jak VIM mając dostęp do funkcji, które zapewnia emacs. – Tom

+0

Głosowanie w celu zamknięcia. Nie jest konstruktywny. Zobacz: - http://stackoverflow.com/questions/48006/is-it-worth-investing-time-in-learning-to-use-emacs - http://stackoverflow.com/questions/485120/will -emacs-make-me-a-better-programmer? lq = 1 - http://stackoverflow.com/questions/551289/should-i-learn-to-use-emacs?lq=1 – noahlz

Odpowiedz

2

Powodem, dla którego Lispers lubi Emacsa jest to, że Emacs to maszyna seplencyjna. Jeśli jesteś już zaznajomiony z rodziną języków i jej tendencjami, to naprawdę wygodnie jest użyć jej do rozszerzenia edytora.

Z mojego własnego (wprawdzie wspólnego Lispa, zamiast Clojure) obiegu pracy, lubię mieć autocomplete, wskazówki do argumentów i makroekspander SLIME. Jestem pewien, że każdy z nich można uzyskać w vimie, więc nie należy zbytnio podkreślać tego, co używają wszyscy inni.

Uwaga, jeśli jeszcze tego nie zrobiłeś, spójrz na: slimv i this article on setting it up with Clojure. Nie używałem go sam, nie będąc użytkownikiem vim, ale wydaje mi się, że jest wystarczająco blisko.

+0

Jestem bardzo zdezorientowany dzięki tak wielu dostępnym narzędziom. Jednak slimv + swank-clojure wydaje się być porzucone, zgodnie z tym https://github.com/technomancy/swank-clojure. Zadaję to pytanie, ponieważ jestem względnie nowy w lisping językach. Właśnie odkryłem, jak potężny jest łańcuch narzędzi do replikacji. Zanim doszedłem do vim-kominka, używałem slimux i byłem już z niego całkiem zadowolony, ale vim-fileplace przenosi całe rozwijające się doświadczenie na inny poziom. Martwiłem się, że nie wykorzystałem całego jego potencjału. –

14

Czy emacs jest lepszy dla rozwoju clojure/lisp? Tak to jest. Bez tego oczywiście możesz się obejść. Użyłem vima do rozwoju Clojure, ale kilka miesięcy temu przeszedłem do emacs i bardzo się cieszę, że tak. Osobiście uważam, że jest to o wiele lepsze doświadczenie. Wtyczki vim prawdopodobnie w międzyczasie nieco dojrzały, ale vim ma poważne ograniczenia w odniesieniu do procesów zewnętrznych i tak dalej. Miałem kilka ogólnych wtyczek vima, które naprawdę kochałem, ale na szczęście wszyscy mieli alternatywę dla emacs.

kilka rzeczy warto wspomnieć:

  • używam trybu zła. Jak wspomniał Tom, jest to warstwa emulacji vim. Jest bardzo dobry. Nic nie przegapię od vima. Obiekty tekstowe, wszystkie tryby vim itp. Są obsługiwane. Osobiście nie pamiętam wszystkich dziwnych skrótów emacsa, doprowadzają mnie do szału. Bez Zła nie używałbym emacs. Stworzyłem zła keybindings dla paredit i kilka innych wtyczek i w zasadzie masz vim na sterydach. Używam tylko vima do szybkich edycji teraz.

  • Dostosowywanie Emacsa było trudne. Teraz uwielbiam Emacsa, ale nie wiedziałabym, co zrobić bez spersonalizowanej konfiguracji Emacsa. Po dostosowaniu wszystkiego do własnych potrzeb bardzo trudno jest wrócić do czegokolwiek innego. Dużo czasu zajęło mi dotarcie do tego punktu. Sprawdź https://github.com/otijhuis/emacs dla mojej osobistej konfiguracji emacs, jeśli chcesz ją wypróbować. Nadal potrzebuje trochę pracy i nie jestem guru Emacs, ale działa bardzo dobrze dla rozwoju Clojure. To może być dobry punkt wyjścia.

5

Chciałbym wskazać na nadchodzący vim-s-wyrażenie przez opiekuna vim-clojure-statycznej:

vim-sexp

Precision montaż symbolicznych wyrażeniach

Ta wtyczka zapewnia mapowania, op eratorów i obiektów tekstowych dla Lisps, w tym Clojure.

Ja sam nie używam Clojure, więc nie mogę powiedzieć na pewno, ale wtyczka wygląda bardzo obiecująco i jest aktywnie rozwijana.

+0

To jest świetne! 'vim-sexp' wydaje się dużo lepszy niż' paredit.vim'. – mk12

+0

niesamowite okrzyki! – mascip

Powiązane problemy