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 ()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.