Ostatnio mnie jakoś tak natknęło żeby przejść na Vima.
Przypomniały mi się czasy w których dużo rzeczy można było zrobić szybciej niż w Emacs’ie.
Po prostu ręce nie wychodziły po ‘największe pole na klawiaturze’.
Viper-mode powiadasz? Hmm ciekaw jestem czy by to nie kolidowało z np modami itd Jakie by były wady tego rozwiązania.
Sam ten koncept wpadł mi do głowy ponieważ bardziej mi odpowiadały skróty klawiszowe z Vim niż z Emacs’a (kwestia przyzwyczajenia).
Z drugiej strony Emacs ma sporo rozszerzeń.
Pytanie:
Próbował ktoś z was live Viper-mode? Z czym to się je? Jak wygląda sprawa z rozszerzeniami?
Czy też może przejść na Vim’a bo ten mode totalnie zassysa?
PS Nie jestem uber-pr0 z Emacs’a ani z Vim’a. Moje rozterki wynikają z tego że jeszcze nie wybrałem ‘ścieżki’.
PS2 To nie flame.
PS3 Nie umiem emacs-lisp. Ale też nie widzę wielkich przeszkód żeby go mniej więcej ogarnąć w niedalekiej przyszlości (albo teraz).
Vim jest o niebo wygodniejszy w konfiguracji, jeśli nie jesteś lispowym nerdem. Instalujesz vundle do pluginów i już Esc warto przemapować na jk i przeczytać 2 wpisy które kiedyś tu zamieściłem: http://rubyonrails.pl/forum/p30038-2011-10-02-22%3A50%3A18#p30038 i :help w vimie.
PS. Filozofia Emacsa bardzo mi się podoba, po paru miesiącach jednak odkryłem że w vimie wszystko jest już wbudowane (text-objects itd itd itd). Choć gdyby nie używanie Emacsa, nadal do poruszania się w Vimie używał bym strzałek :]
PS2. Do railsów i okolic o wiele wygodniejsze są vimowe pluginy (te z Emacsa zawsze coś nawalały i trzeba było kombinować).
Jeśli chodzi o emulację vi w emacsie to możesz natknąć się na viper, vimpulse i evil. Próbowałem wszystkich trzech i jeśli chodzi o dwa pierwsze rozwiązania to można by je określić jako przeciwieństwo koncepcji “work out of the box”. Vimpulse do tego ma sporo konfliktów z istniejącymi paczkami elispa.
Za to evil daje radę po całości. Oprócz podstawowych stanów vima ma również evil-motion-state w którym ma tylko vimowe keybindings do poruszania się, oraz emacs-state czyli waniliowe keybindings emacsa. Te dwa stany uruchamiasz w razie potrzeby jeśli jakiś keybinding jest w konflickie z ustawionymi przez dany mode w buforze (np. magit, dired-mode). Poza tym wiele rzeczy z vima jest zaimplementowane - substitution (na wypasie bo na bieżąco aktualizuje bufor i pokazuje ci zmiany jakich dokona), text blocks, makra, możesz nawet zainstalować evil-surround (chociaż ma trochę błędów).
Ogólnie user-experiance jest bardzo dobry masz za jednym razem szybkość edytowania znana z vima i konfigurowalność oraz rozbudowanie emacsa. Jak do tej pory nie natknąłem się na żaden konflikt między innymi modami.
Ciężko porównać obydwa środowiska vim ma to czego brakuje emacsowi i odwrotnie. Np. emacs nie ma mode do pracy w railsach z prawdziwego zdarzenia jakim jest rails.vim. Z drugiej strony vim nie ma czegoś takiego jak rspec-mode. Emacs ma ido i anything które naprawdę ułatwiają pracę ale z drugiej strony kolorowanie składni w ruby-mode pozostawia wiele do życzenia (tym bardziej jeśli wziąść pod uwagę że paczką opiekuje się matz).
Chodzi Ci o ELPA? To chyba jednak trochę co innego, vundle może ściągnąć rozszerzenia z gita, więc tak jak w bundlerze możesz po prostu podać adres projektu na githubie i update’ować na bieżąco.