Emacs vs Vim

Emacs vs Vim
Istnieje wiele tematów, na których fani podzielili się swoimi poglądami i kłócili się ze sobą przeciwko tym, którzy sprzeciwiają się ich poglądom. Te święte wojny były wszędzie: iPhone vs. Android, Marvel vs. DC, tabs vs. przestrzenie itp. Podobną dyskusją, o której użytkownicy, szczególnie ci społeczności Linuksa, mają tendencję do ogrzewania, to EMACS vs. Vim Debata, która trwa od dziesięcioleci.

W tym artykule zanurza się w tej długiej, trwającej wojnie redaktora i podejmuje decyzję, w którym program - Emacs lub Vim - przewaga drugiego.

Co to są Emacs i Vim?

VIM jest jednym z najstarszych edytorów tekstu opartych na UNIX. Ten edytor tekstu jest ewolucją VI, edytora tekstu z wczesnych dni UNIX. Vim szybko zyskał popularność po swoim wprowadzeniu, ponieważ nie tylko miał wbudowane w niego prawie wszystkie cechy VI, ale także dodał dodatkowe funkcje, które sprawiły, że był znacznie mocniejszy niż jego poprzednik.

Urok Vim wynika z tego, że jest wyjątkowo lekki i ma interfejs z kilkoma trybami, każdy z innym, użytecznym celem. Z funkcjami takimi jak wielopoziomowe cofnięte drzewo, ogromną kolekcją wtyczek, potężnymi narzędziami do manipulacji tekstem i obsługą dziesiątek języków programowania, vim jest solidny i wyróżnia się jako edytor tekstu.

Z drugiej strony Emacs jest edytorem międzyplatformowym z interfejsem niemodowym. Emacs jest jak Vim, będąc starym redaktorem tekstu, który jest popularny od lat. Zamiast nazywać go edytorem tekstu, Emacs to o wiele więcej, coś w rodzaju tego, co nazwałbyś systemem operacyjnym. Znany z tego, że jest wysoce rozszerzalny, EMACS jest łatwy do poprawienia i dostosowywania oraz pozwala na wdrożenie różnych funkcji i metod, co daje wyraźne wskazanie, jak potężne może być to narzędzie. EMACS ma obsługę mnóstwa pakietów i rozszerzeń, a użytkownicy mogą je używać do dalszego skonfigurowania tego programu, czyniąc go jeszcze silniejszym niż wcześniej.

Z krótkim wprowadzeniem do tego, co oferuje każdy edytor, spójrzmy teraz na niektóre funkcje, które zapewniają zarówno Emacs, jak i Vim.

1) więcej niż edytor tekstu

Jako redaktorzy tekstu, zarówno Emacs, jak i Vim wyróżniają się w pracy, którą mają wykonać. Obaj redaktorzy zawierają obsługę wielu języków, oprócz dostarczania funkcji, które wydobywają najlepsze programistę. Obaj redaktorzy mogą zrobić wszystko, co możesz sobie wyobrazić.

Różnica między tymi dwoma wynika z faktu, że w przeciwieństwie do Vima, Emacs to nie tylko edytor tekstu, ale raczej ma środowisko podobne do IDE. Innymi słowy, EMACS jest w pełni wykładanym maszyną LISP, interfejsem, który oferuje wiele narzędzi użytkownikom i tworzy całkowicie otwarty świat, w którym użytkownicy mogą być online 24/7 i żyć w programie.

Na przykład, w przeciwieństwie do użytkowników VIM, którzy muszą otworzyć terminal osobno, aby korzystać z programu, Emacs ma wraz z własną wbudowaną powłoką.

Użytkownicy EMACS mają również dostęp do funkcji, takich jak przeglądarka internetowa, notatki i organizowanie plików, a także wiele gier, takich jak Tetris.

Przeglądarka internetowa:

Mode org - Organizator:

Tetris:

Jak widać z powyższych przykładów, edycja tekstu jest tylko jednym aspektem wśród tuzinów cech obecnych w Emacs.

2) Konfigurowalność

Zarówno EMACS, jak i VIM są znani z tego, że są wyjątkowo konfigurowalne i wszechstronne, mają mnóstwo wtyczek i rozszerzeń, aby pomóc w skonfigurowaniu programów poprzez dodanie większej liczby funkcji.

Emacs posuwa się o krok dalej, używając języka programowania LISP. Możesz zaimplementować i przedefiniować prawie wszystko w EMACS, używając LISP.

Na przykład powiedzmy, że chcesz zdefiniować funkcję, która po uruchomieniu uruchamia Bing w przeglądarce internetowej. Można to łatwo wdrożyć w EMACS za pomocą LISP. Aby dodać tę funkcję do EMACS, do pliku inicjalizacyjnego EMCAS należy dodać następujące wiersze kodu (~/.plik EMACS):

(Defun Searcher ()
(interaktywny)
(Przeglądaj Url
„https: // www.Bing.com/"))

Dla osób przyzwyczajonych do korzystania z VIM, EMACS zapewnia również użytkownikom pakiety, które pozwalają im osiągnąć zachowanie podobne do Vima w EMACS. Najbardziej znanym pakietem jest tryb Evil, który jest niezwykle potężnym trybem EMACS, który całkowicie naśladuje VI, a także próbuje go rozwinąć, dodając bardziej kompatybilne i potężne funkcje.

3) interfejs przyjazny dla użytkownika

Jak wspomniano powyżej, VIM jest edytorem modalnym, co oznacza, że ​​ma wiele trybów do wykonywania różnych funkcji. Dla początkujących może to wydawać się trudne, ponieważ przejście z jednego trybu na drugi i nauczenie się radzenia sobie z tekstem w każdym trybie może okazać się dość skomplikowane na początku.

Z drugiej strony EMACS wydaje się bardziej przystępny dla nowych użytkowników, ponieważ ma interfejs niemodalny, a kluczowe powiązania nie wydają.

4) Skrypt ELISP vs VIM

Skrypt ELISP i VIM to języki programowania zdefiniowane odpowiednio dla EMACS i VIM. Te skrypty służą do pisania funkcji i wtyczek w celu dalszego rozszerzenia możliwości redaktorów. Porównując te dwa języki obok siebie, ELISP wyciąga vim z szerokim marginesem. W porównaniu do ELISP, skrypt VIM jest znacznie trudniejszy do skonfigurowania i ma bardzo niewiele bibliotek do pracy. Elisp jednak stoi w sercu Emacsa i jest uważany za wystarczająco silny, aby wdrożyć wszystko.

Dlaczego Emacs jest lepszy niż Vim?

Zarówno EMACS, jak i VIM są doskonałymi narzędziami do edytowania plików wszystkich rodzajów języków programowania. Oba są niezwykle potężne i zapewniają użytkownikom duże zestawy narzędzi. Jednak EMACS ma nie tylko narzędzia do edycji VIM, ale także rozszerza je, zapewniając dodatkowe funkcje, takie jak klient e -mail, debugger itp.

Nawet przy tych wszystkich obecnych funkcjach EMACS pozwala dalej go dostosowywać i dodawać funkcjonalności, co jest doskonałym wskazaniem mocy i złożoności, która istnieje u podstaw EMACS. Będąc nieskończenie rozszerzonym, Emacs stoi głowa i ramiona nad Vim.