Emacs

Emacs kontra Vim

Emacs kontra Vim
Było wiele tematów, na które fani dzielili się swoimi poglądami i dyskutowali ze sobą przeciwko tym, którzy sprzeciwiali się ich poglądom. Te święte wojny były wszędzie: iPhone kontra. Android, Marvel vs. DC, tabulatory vs. spacje itp. Podobna dyskusja na temat tego, którzy użytkownicy, szczególnie ci ze społeczności Linuksa, mają tendencję do nagrzewania się, to Emacs vs. Debata Vima, która trwa od dziesięcioleci.

Ten artykuł zagłębia się w tę długą, toczącą się wojnę edytorów i podejmuje decyzję, który program – Emacs czy Vim – ma przewagę nad innymi.

Czym są Emacs i Vim?

Vim jest jednym z najstarszych edytorów tekstu opartych na systemie UNIX. Ten edytor tekstu jest ewolucją vi, edytora tekstu z początków UNIX. Vim szybko zyskał popularność po wprowadzeniu, ponieważ nie tylko miał wbudowane prawie wszystkie funkcje vi, ale także dodał kilka dodatkowych funkcji, które uczyniły go znacznie potężniejszym niż jego poprzednik.

Urok Vima wynika z tego, że jest niezwykle lekki i ma interfejs z kilkoma trybami, z których każdy ma inny, użyteczny cel. Dzięki funkcjom takim jak wielopoziomowe drzewo cofania, ogromna kolekcja wtyczek, potężne narzędzia do manipulacji tekstem i obsługa dziesiątek języków programowania, Vim jest solidny i doskonale sprawdza się jako edytor tekstu.

Z drugiej strony Emacs to wieloplatformowy edytor z niemodalnym interfejsem. Emacs jest podobny do Vima, jest starym edytorem 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 w dostosowywaniu i dostosowywaniu oraz umożliwia implementację różnych funkcji i metod, co jasno pokazuje, jak potężne może być to narzędzie. Emacs obsługuje wiele pakietów i rozszerzeń, a użytkownicy mogą ich używać do dalszej konfiguracji tego programu, czyniąc go jeszcze potężniejszym niż wcześniej.

Po zakończeniu krótkiego wstępu na temat tego, co oferuje każdy edytor, przyjrzyjmy się teraz niektórym funkcjom, które zapewniają zarówno Emacs, jak i Vim.

1) Więcej niż edytor tekstu

Jako edytorzy tekstu, zarówno Emacs, jak i Vim przodują w pracy, do której są przeznaczone. Oba edytory zawierają obsługę wielu języków, a także zapewniają funkcje, które wydobywają z programisty to, co najlepsze. Obaj redaktorzy mogą zrobić wszystko, co tylko sobie wyobrazisz.

Różnica między nimi wynika z faktu, że w przeciwieństwie do Vima, Emacs nie jest tylko edytorem tekstu, ale ma środowisko podobne do IDE. Innymi słowy, Emacs jest pełnoprawną maszyną seplenienia, interfejsem, który oferuje użytkownikom wiele narzędzi 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 Vima, którzy muszą oddzielnie otworzyć terminal, aby korzystać z programu, Emacs ma wbudowaną własną powłokę.

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

Przeglądarka internetowa:

Tryb organizacyjny - Organizator:

Tetris:

Jak widać z powyższych przykładów, edycja tekstu to tylko jeden aspekt spośród kilkunastu funkcji obecnych w Emacsie.

2) Możliwość dostosowania

Zarówno Emacs, jak i Vim są znane z tego, że są niezwykle konfigurowalne i wszechstronne, posiadają mnóstwo wtyczek i rozszerzeń, które pomagają konfigurować programy, dodając więcej funkcji.

Emacs idzie o krok dalej, używając języka programowania lisp. Możesz zaimplementować i przedefiniować prawie wszystko w Emacsie za pomocą lisp.

Powiedzmy, że chcesz zdefiniować funkcję, która po uruchomieniu uruchomi Bing w przeglądarce internetowej. Można to łatwo zaimplementować w Emacsie za pomocą lisp. Aby dodać tę funkcję do Emacsa, należy dodać następujące wiersze kodu do pliku inicjującego Emcas (~/.plik emacs):

(zbezczeszczona wyszukiwarka ()
(interaktywny)
(przeglądaj-url
„https://www.bing.pl/"))

Dla osób przyzwyczajonych do korzystania z Vima, Emacs zapewnia również użytkownikom pakiety, które pozwalają im osiągnąć zachowanie podobne do Vima wewnątrz Emacsa. Najbardziej znanym pakietem jest tryb Evil, który jest niezwykle potężnym trybem Emacsa, który całkowicie emuluje vi, a także próbuje go rozszerzyć, dodając więcej kompatybilnych i zaawansowanych funkcji.

3) Przyjazny dla użytkownika interfejs

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

Z drugiej strony Emacs wydaje się być bardziej przystępny dla nowych użytkowników, ponieważ ma interfejs niemodalny, a powiązania klawiszy nie wydają się być tak obce.

 4) Elisp kontra skrypt Vima

Skrypt Elisp i vim to języki programowania zdefiniowane odpowiednio dla Emacsa i Vima. Skrypty te służą do pisania funkcji i wtyczek, aby jeszcze bardziej rozszerzyć możliwości edytorów. Porównując te dwa języki obok siebie, Elisp rozciąga vim z dużym marginesem. W porównaniu do Elisp, skrypt vim jest znacznie trudniejszy do skonfigurowania i ma bardzo mało bibliotek do pracy. Elisp jest jednak sercem Emacsa i jest uważany za wystarczająco potężny, aby zaimplementować wszystko.

Dlaczego Emacs jest lepszy niż Vim?

Zarówno Emacs, jak i Vim to doskonałe narzędzia do edycji plików we wszystkich typach języków programowania. Oba są niezwykle wydajne i zapewniają duże zestawy narzędzi, z którymi mogą pracować ich użytkownicy. Jednak Emacs ma nie tylko narzędzia do edycji, które ma Vim, ale także rozszerza je, zapewniając dodatkowe funkcje, takie jak klient poczty e-mail, debugger itp.

Nawet przy obecnych wszystkich tych funkcjach, Emacs pozwala na dalsze dostosowywanie go i dodawanie do niego funkcji, co jest dobrym wskaźnikiem mocy i złożoności, która tkwi w rdzeniu Emacsa. Będąc nieskończenie rozszerzalnym, Emacs stoi głową i ramionami nad Vim.

Gry Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Artykuł zawiera przewodnik dotyczący korzystania z silnika oszukującego GameConqueror w systemie Linux. Wielu użytkowników, którzy grają w gry w syste...
Gry Najlepsze emulatory konsoli do gier dla systemu Linux
Najlepsze emulatory konsoli do gier dla systemu Linux
W tym artykule wymienimy popularne oprogramowanie do emulacji konsoli do gier dostępne dla systemu Linux. Emulacja to warstwa kompatybilności oprogram...
Gry Najlepsze dystrybucje Linuksa do gier w 2021 r
Najlepsze dystrybucje Linuksa do gier w 2021 r
System operacyjny Linux przeszedł długą drogę od pierwotnego, prostego, serwerowego wyglądu. Ten system operacyjny znacznie się poprawił w ostatnich l...