Emacs vs. Krzepa
- 4422
- 692
- Pelagia Radomski
Emacs I Krzepa są dwoma najczęściej używanymi edytorami tekstu w systemach UNIX i UNIX. Istnieje długa historia konkurencji między tymi dwoma redaktorami tekstu, które są znacznie bardziej zaawansowane niż inni redaktorzy tekstu na platformie UNIX. Podczas gdy oba redaktorzy mają podobną funkcjonalność dzięki swoim wtyczkom, skryptowaniu i klawiszy skrótów, ich podejścia są nieco inne.
Wykres porównania
Różnice - podobieństwa -Emacs | Krzepa | |
---|---|---|
|
| |
Wydanie podglądu | 23 | 7.2a.13 (2008-07-04) |
Napisane w | C i Emacs Lisp | C i VIM Skrypt |
Platforma | Platforma, w tym UNIX, Linux i Microsoft Windows | Platforma, w tym UNIX, Linux i Microsoft Windows |
Dostępne w | Angielski, chiński, francuski, włoski, polski, rosyjski | Angielski, chiński, francuski, włoski, polski, rosyjski |
Typ | Edytor tekstu | Edytor tekstu |
Licencja | GNU GPL | Bezpłatne oprogramowanie, Carityware, GPL kompatybilne |
Strona internetowa | http: // www.gnu antylopa.org/oprogramowanie/emacs/ | http: // www.krzepa.org/ |
Wprowadzenie (z Wikipedii) | Emacs to klasa edytorów tekstu bogatych w funkcje, zwykle charakteryzującą się ich rozszerzalnością. Emacs ma ponad 1000 poleceń edytowania. Pozwala także użytkownikowi połączyć te polecenia w makra w celu automatyzacji pracy. | VIM to redaktor tekstu wydany po raz pierwszy przez Bram Moolenaar w 1991 roku dla komputera Amiga. Nazwa „vim” to akronim dla „vi ulepszonego”, ponieważ vim został utworzony jako rozszerzona wersja edytora VI, z wieloma dodatkowymi funkcjami zaprojektowanymi tak, aby były pomocne |
Zaprojektowane przez | Richard Stallman | Bram Moolenaar |
Pierwsze wydanie | 1976 | 1991 |
Wersja stabilna | 22.3 (2008-09-05) | 7.2 (2008-08-09) |
Zakładki bufora | Obsługiwany zarówno w wierszu poleceń, jak i graficznym interfejsie użytkownika | Obsługiwany zarówno w wierszu poleceń, jak i graficznym interfejsie użytkownika |
Interfejs użytkownika EMACS i VIM
Vim używa trybów edycji - najczęściej tryb dowodzenia I Wstaw tryb. VIM ma na celu zminimalizowanie liczby klawiszy, które użytkownik musi naciskać, ponieważ vi, na którym opiera się VIM, został zaprojektowany do użytku na powolnych zaciskach.
EMACS używa klawiszy modyfikatorów, aby włączyć skróty, które często obejmują jednocześnie naciskanie kilku klawiszy dla pojedynczej funkcji. Ten aspekt Emacsa jest często krytykowany.
Łatwość uczenia się
EMACS jest łatwiejszy do nauczenia, ponieważ ma bardziej naturalny interfejs (dla użytkowników znających edytorów tekstu opartych na GUI). Ponieważ vim ma różne tryby edycji, początkujący trudniej jest się nauczyć.
Wydajność i szybkość edycji
Entuzjastowie Vima twierdzą, że gdy użytkownik zapozna się z trybami edycji i poleceniami VIM, umożliwia znacznie większą wydajność i wydajność. Edycja plików jest zwykle szybsza w przypadku VIM niż z EMACS z powodu celowego interfejsu Vim opartego na prędkości. Na przykład ruch kursora może być kontrolowany przez H, J, K, I L klucze w Tryb normalny. Oznacza to, że ręce użytkownika nie muszą opuszczać pozycji „rzędu domowego”, co poprawia wydajność, ale jest w cenie dodawania kosztów ogólnych, ponieważ przełączanie trybu jest wymagane do wyboru między ruchem a edytowaniem tekstu. W EMACS (z domyślną konfiguracją) użytkownik przesuwa kursor za pomocą skrótów CTRL-B lub CTRL-F, które mogą spowolnić nowicjusza, ponieważ należy nacisnąć dwa klucze. Ulepszenia wydajności i wydajności w EMACS zależą od konfiguracji środowiska edytowania, a nie samego redaktora.
Użycie Ram EMACS vs Vim
Vim jest lżejszy niż Emacs i używa mniej pamięci. VIM opowiada się za krytykującym zużycie zasobów Emacsa za pomocą sugestii, że Emacs oznacza „osiemdziesiąt megabajtów i nieustannie zamienia się”.
Jednak w przypadku gnuclient można uruchomić pojedynczy trwałym procesem EMACS, który może wspierać kilku klientów jednocześnie. To przyspiesza czas uruchamiania i zmniejsza całkowite zużycie pamięci, zamykając lukę między EMACS i VIM.
Rozszerzalność i dostosowywanie EMACS vs. VIM
Podczas gdy zarówno VIM, jak i EMACS obsługują wtyczki, które ulepszają ich funkcjonalność, EMACS obsługuje znacznie więcej dostosowywania środowiska edytora. Jest to prawdopodobnie najważniejsza cecha EMACS i jest odpowiedzialna za większość oddanych obserwatorów Emacsa.
EMACS można rozszerzyć w ELISP, podczas gdy VIM ma swój wewnętrzny język skryptowy i obsługuje użycie innych języków programowania do tworzenia wtyczek.
EMACS można rozszerzyć w locie, redefiniując wbudowane funkcje ELISP, albo wpisując nową definicję do EMACS, albo ładując pliki ELISP. Grupy powiązanych zmian są nazywane „trybami” i można je łatwo skonfigurować do automatycznie używanego dla określonych rodzajów plików (bufory). Dlatego łatwo jest zdefiniować tryby dla różnych języków lub frameworków, takich jak „Tryb Lisp” lub „Ruby on Rails Mode” lub „Tryb PHP”. Tryby te mogą bezpośrednio modyfikować nawet podstawowe zachowania EMACS, automatycznie sformatuj lub pokolorować tekst i dodać standardowy szablon lub tekst „płyty kotłowej”, takimi jak deklaracje funkcji i zamknięcia. Tak więc programiści uważają Emacsa za znacznie bardziej konfigurowalne w stosunku do swoich konkretnych wymagań niż VIM. Jednak niektórzy programiści mogą uznać VIM, aby ostatecznie lepiej pasować do ich środowiska programowania ze względu na jego równie konfigurowalne i w pełni modalne działanie.
VIM można również rozszerzyć w locie za pomocą trybu poleceń. Tryb polecenia umożliwia ustawienie opcji konfiguracji, zdefiniowanie funkcji i wykonanie makr. W rzeczywistości pliki konfiguracyjne dla VIM są tylko poleceniami, które można wprowadzić w trybie poleceń.
Graficzny interfejs użytkownika (GUI)
Zarówno Vim, jak i Emacs mają graficzne interfejsy użytkownika. Praktycznie wszystkie elementy menu w interfejsie graficznym dla obu edytorów to po prostu sposoby obsługi polecenia skrótów lub szybkiej konfiguracji. GUI dla redaktorów nie zapewniają praktycznie żadnych dodatkowych funkcji wykraczających poza te dostępne w CLI (interfejs wiersza poleceń)
Emacs używa xDisplay lub GTK2 do swojego GUI. VIM może korzystać z wielu innych bibliotek GUI, takich jak GTK, GNOME, GNOME2, MOTIF, ATHENA i NEXTAW, oprócz GTK2.