Emacs vs. Vim

Emacs i Wigor to dwa najczęściej używane edytory tekstu EmacsWigorWersja zapoznawcza 23 7.2a.13 (2008-07-04) Napisane w C i Emacs Lisp Skrypt C i Vim Platforma Wiele platform, w tym Unix, Linux i Microsoft Windows Wiele platform, 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 Rodzaj Edytor tekstu Edytor tekstu Licencja GNU GPL Darmowe oprogramowanie, programy charytatywne, zgodne z GPL Stronie internetowej http://www.gnu.org/software/emacs/ http://www.vim.org/ Wprowadzenie (z Wikipedii) Emacs to klasa bogatych w funkcje edytorów tekstu, zwykle charakteryzujących się ich rozszerzalnością. Emacs ma ponad 1000 poleceń edycji. Pozwala także użytkownikowi łączyć te polecenia w makra w celu automatyzacji pracy. Vim to edytor tekstów wydany po raz pierwszy przez Brama Moolenaara w 1991 roku na komputer Amiga. Nazwa „Vim” jest akronimem nazwy „Vi IMproved”, ponieważ Vim został stworzony jako rozszerzona wersja edytora vi, z wieloma dodatkowymi funkcjami, które są pomocne Zaprojektowane przez Richard Stallman Bram Moolenaar Pierwsze wydanie 1976 1991 Wersja stabilna 22.3 (2008-09-05) 7.2 (2008-08-09) Karty buforów Obsługiwane zarówno w wierszu poleceń, jak i graficznym interfejsie użytkownika Obsługiwane zarówno w wierszu poleceń, jak i graficznym interfejsie użytkownika

Zawartość: Emacs vs Vim

  • 1 Interfejs użytkownika Emacsa i Vima
    • 1.1 Łatwość uczenia się
    • 1.2 Wydajność i szybkość edycji
  • 2 użycie pamięci RAM przez Emacsa vs Vima
  • 3 Rozszerzalność i dostosowywanie Emacsa do Vima
    • 3.1 Graficzny interfejs użytkownika (GUI)
  • 4 referencje

Interfejs użytkownika Emacsa i Vima

Vim używa trybów edycji - najczęściej tryb poleceń i tryb wstawiania. Vim ma na celu zminimalizowanie liczby naciśnięć klawiszy, które użytkownik musi nacisnąć, ponieważ vi, na której oparty jest Vim, został zaprojektowany do użycia na wolnych terminalach.

Emacs używa klawiszy modyfikujących, aby włączyć skróty, co często wymaga jednoczesnego naciśnięcia kilku klawiszy dla jednej funkcji. Ten aspekt Emacsa jest często krytykowany.

Łatwość uczenia się

Emacsa jest łatwiejszy do nauczenia, ponieważ ma bardziej naturalny interfejs (dla użytkowników znających edytory tekstowe oparte na GUI). Ponieważ Vim ma różne tryby edycji, początkującym jest nieco trudniej się nauczyć.

Wydajność i szybkość edycji

Entuzjaści Vima twierdzą, że gdy użytkownik zapozna się z trybami edycji i poleceniami Vima, umożliwia to znacznie większą wydajność i wydajność. Edycja plików jest zwykle szybsza w Vimie niż w Emacsie z powodu celowo dostosowanego interfejsu Vima. Na przykład ruch kursora można kontrolować za pomocą H., jot, K., i L. klucze w Tryb normalny. Oznacza to, że dłonie użytkownika nie muszą opuszczać pozycji „wiersza głównego”, co poprawia wydajność, ale wiąże się z kosztem dodania narzutu, ponieważ przełączanie trybu jest wymagane do wyboru między ruchem i edycją tekstu. W Emacsie (z domyślną konfiguracją) użytkownik przesuwa kursor za pomocą skrótów Ctrl-B lub Ctrl-F, co może spowolnić początkującego użytkownika, ponieważ trzeba nacisnąć dwa klawisze. Poprawa wydajności i wydajności Emacsa zależy od konfiguracji środowiska edycji, a nie od samego edytora.

Wykorzystanie pamięci RAM przez Emacsa vs Vima

Vim jest lżejszy niż Emacs i zużywa mniej pamięci. Zwolennicy Vima krytykują zużycie zasobów przez Emacsa za sprawą bezczelnej sugestii, że Emacs oznacza „osiemdziesiąt megabajtów i ciągła zamiana”.

Jednak dzięki gnuclient można uruchomić jeden trwały proces Emacsa, który może obsługiwać jednocześnie kilku klientów. Przyspiesza to czas uruchamiania i zmniejsza całkowite użycie pamięci, wypełniając lukę między Emacsem a Vimem.

Rozszerzalność i dostosowywanie Emacsa do Vima

Podczas gdy zarówno Vim, jak i Emacs obsługują wtyczki, które zwiększają ich funkcjonalność, Emacs obsługuje znacznie więcej dostosowań środowiska edytora. Jest to prawdopodobnie najważniejsza cecha emacsa i jest odpowiedzialna za większość oddanych emacsa.

Emacsa można rozszerzyć w elisp, podczas gdy Vim ma swój własny wewnętrzny język skryptowy i obsługuje użycie innych języków programowania do programowania wtyczek.

Emacsa można rozszerzać w locie, zmieniając definicje wbudowanych funkcji elisp, wpisując nową definicję do Emacsa lub ładując pliki elisp. Grupy powiązanych zmian nazywane są „trybami” i można je łatwo skonfigurować do automatycznego użycia dla określonych typów plików (buforów). Łatwo jest więc zdefiniować tryby dla różnych języków programowania lub frameworków, takich jak „tryb lisp” lub „tryb Ruby on Rails” lub „tryb PHP”. Tryby te mogą bezpośrednio modyfikować nawet podstawowe zachowania Emacsa, automatycznie formatować lub pokolorować tekst oraz dodawać standardowy szablon lub tekst „wzorcowy”, taki jak deklaracje funkcji i zamknięcia. Programiści uważają więc, że Emacsa można znacznie lepiej dostosować do ich konkretnych wymagań niż Vim. Jednak niektórzy programiści mogą przekonać się, że Vim ostatecznie lepiej nadaje się do środowiska programistycznego ze względu na jego równie konfigurowalne iw pełni modalne działanie.

Vima można również rozszerzyć w locie, korzystając z trybu poleceń. Tryb poleceń pozwala ustawić opcje konfiguracji, zdefiniować funkcje i utworzyć makra. W rzeczywistości pliki konfiguracyjne dla Vima są tylko poleceniami, które można wprowadzić w trybie poleceń.

Graficzny interfejs użytkownika (GUI)

Zarówno Vim, jak i Emacs mają graficzny interfejs użytkownika. Praktycznie wszystkie elementy menu w interfejsie graficznym dla obu edytorów to po prostu sposoby obsługi polecenia skrótu lub szybkiej konfiguracji. GUI dla edytorów nie zapewniają praktycznie żadnych dodatkowych funkcji poza funkcjami dostępnymi 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.

Bibliografia

  • wikipedia: Vi
  • wikipedia: Emacs
  • http://www.io.com/~dierdorf/emacsvi.html
  • http://thomer.com/vi/vi.html
  • Emacs ma moc Lisp, co czyni go bardzo elastycznym
  • Przewodnik dla emacsa dla początkujących