Czym różni się Elvis od Vima?

15

Od jakiegoś czasu używam Slackware, który jest dostarczany z Elvisem jako domyślnym edytorem.

Większość innych dystrybucji Linuksa wydaje się być dostarczana z Vimem , zamiast z Elvisem. Czy po dość przyzwyczajeniu się do Elvisa zmierzę się z krzywą uczenia się, przechodząc do dystrybucji, która używa vima?

Jakie są zalety i wady Elvisa w porównaniu do Vima?

thx1139
źródło
10
Dlaczego więc po prostu nie instalujesz elvis? To, że dystrybucja zawiera coś, nie oznacza, że ​​musisz tego użyć! Debian ma to na przykład - aptitude install elviszrobi to. Nawiasem mówiąc, „domyślny edytor” jest zmienną, a nie stałą. Wystarczy ustawić EDITOR=/usr/bin/elvisw rc preferowanej powłoki.
Alexios
4
O'Reilly's Learning the VI Editor ma bezpłatny rozdział na temat viklonów, który porównuje - między innymi - vimi elviszwykły stary vi.
sr_
Elvis nie żyje. Vim nadal robi postępy i jest obecnie całkowicie refaktoryzowany jako neo vim , co znacznie uprości bazę kodu i architekturę wtyczek oraz zastąpi vimscript Luą, między innymi ulepszeniami.
Zaz

Odpowiedzi:

13

Zarówno Elvis, jak i Vimviklonami o dużej zdolności , więc pamięć twoich palców będzie ci dobrze służyć podczas przełączania się między nimi.

Udostępniają wiele virozszerzeń:

  • Podświetlanie składni

  • Wielokrotne cofanie i ponawianie

  • Tryb wizualny za pomocą viV

  • Historia i ukończenie dowodzenia

  • Stosy Tag (np :tags, :tnetc.)

  • Multiokno edycji, poprzez :split, Ctrl-Witp

  • Rozszerzone wyrażenia regularne: naprzemienne, grupowanie podwyrażeń itp.

  • Wersja GUI, oprócz tradycyjnego pełnoekranowego interfejsu terminalu

  • Zdalna edycja plików: odczyt / zapis przez FTP i tylko do odczytu przez HTTP

  • Usunięcie najbardziej klasycznych vilimitów, takich jak długości linii i rozmiary plików

  • Ulepszona obsługa programowania: :makeautomatyczne przeskakiwanie do błędów kompilatora itp.

viMimo, że Elvis jest imponujący w porównaniu do zwykłego Uniksa , Vim jest jeszcze bardziej zdolny:

  • Vimscript jest znacznie potężniejszy niż exjęzyk skryptowy Elvisa .

    (Elvis i Vim rozszerzyli exjęzyk w niekompatybilnych kierunkach. Oznacza to, że nie możesz łatwo przenieść swojego elvis.inipliku, ~/.vimrcchyba że jest to tylko lista prostych expoleceń).

  • Oprócz Vimscript, Vim może być skryptowany przez Lua, Perl, Python, Racket, Ruby i Tcl.

    (Twój lokalny Vim prawdopodobnie jednak nie ma włączonych wszystkich tych funkcji).

  • Archiwum skrypt Vim zawiera tysiące skryptów Vima, dodając bardzo użyteczne funkcje, aplikacje pomocnik, gry i wiele innych.

    Elvis jest dostarczany z zaledwie kilkudziesięcioma skryptami. Wydaje się, że nie ma żadnych archiwów zewnętrznych skryptów Elvisa. (Próbowałem Googling i znalazłem tylko scenariusze do filmów Elvisa Presleya . Westchnienie).

  • Vim 7.4 jest dostarczany z obsługą podświetlania składni dla około 10 razy większej liczby formatów plików i języków programowania niż Elvis 2.2.

    Formaty plików definicji składni są niekompatybilne, więc nie można łatwo przenosić między nimi.

  • Vim 7.4 jest dostarczany z 18 standardowymi kolorami. Jeśli to dla ciebie za mało, Vim Color Sampler Pack to wyselekcjonowana kolekcja 177 najlepszych schematów, od tego pisania. Poza tym jest ich znacznie więcej.

    Elvis 2.2 jest dostarczany tylko z trzema schematami kolorów, i to tylko pod warunkiem, że osobno policzysz GUI i TUI . Archiwum motywy Elvis posiada inny kolor, schematy tuzin łącznie.

  • Vim ma wbudowaną funkcję różnicową z wieloma ulepszeniami w stosunku do wiersza poleceń, diff(1)takimi jak kolorowanie i scalanie składni.

  • Oprócz FTP i HTTP Vim może również edytować zdalne pliki za pośrednictwem SCP, SFTP, WebDAV, RCP i RSYNC.

Najlepszym powodem, aby dziś używać Elvisa zamiast Vima, jest to, że jest on znacznie mniejszy. Ślad Elvisa 2.2 jest o ⅕ mniejszy niż Vima 7.4 w moim systemie. To sprawia, że ​​jest to dobry wybór na przykład dla systemów wbudowanych o ograniczonych zasobach.

Elvis jest doskonale sprawnym edytorem, w ramach swoich ograniczeń. Ale podczas gdy Elvis stoi w stagnacji od prawie dekady, Vim nadal się poprawia.

Warren Young
źródło
7

Zrozumiałe jest, że jako klon VI nie ma wielu funkcjonalnych różnic między elvisem a vimem. Według Learning the VI Editor, wydanie 6 , jedyną różnicą jest to, że Elvis nie ma wyszukiwania przyrostowego.

Jest mało prawdopodobne, aby krzywa uczenia się przechodziła od elvisa do vima - w końcu oba są oparte na vi i przynajmniej dzielą te same podstawowe polecenia, takie jak nawigacja, tryby, wyszukiwanie.

Najprawdopodobniej, gdybyś zainstalował vim i traktował go jako głównego edytora przez jeden dzień - wiedziałbyś już, jakie funkcje (jeśli w ogóle) Elvisa przegapisz, i wszelkie niedogodności, które vim może ci dać (jeśli w ogóle).

Nie znam się tak dobrze na elvisie, ale niektóre z zalet vima to duża liczba wtyczek i to, że jest utrzymywane. Najnowsza wersja vima (7.3) została wydana w 2010 roku , najnowsza wersja elvis (2.2.0) została wydana w 2003 roku .

Uwaga: jak skomentował alexios - zmiana dystrybucji nie oznacza, że ​​nie możesz po prostu nadal używać elvisa.

AD7six
źródło
3

Jako długoletni elvis użytkownik (prawdopodobnie od 1991 r.) elvisBrakuje mi jednej funkcji - vimtrybów wyświetlania.

Jest to bardzo wygodne przy elvisedycji „wysiwyg”htmltroff stronami i podręcznika, a hextryb podzielonego ekranu jest również bardzo przydatny.

Niestety, elvisjest porzucony od 2004 roku i brakuje mu obsługi UTF-8, co sprawia, że ​​większość czasu używam vimzamiast niego.

jlliagre
źródło
1
Jest sposób na połączenie edytora szesnastkowego z zapasowym Vimem . Lub, tak jak ja, używam bvi. W przypadku HTML opcją niezależną od edytora jest skonfigurowanie pewnego rodzaju automatycznego przeładowania w prawdziwej przeglądarce. Zrozumienie HTML przez Elvisa było niedoskonałe dziesięć lat temu, kiedy przestał się poruszać. To musi być teraz strasznie przestarzałe.
Warren Young,
1
@WarrenYoung Żadne tłumaczenie tekstu HTML nie może być idealne. elvisjeden jest wciąż wystarczająco wygodny dla większości prostych dokumentów HTML.
jlliagre
Elvis nie jest już porzucony, od tego momentu ostatnie zatwierdzenie ma 11 dni: github.com/mbert/elvis