Emacs vs. Vim

Emacs și sevă sunt cei mai folosiți editori de text din sistemele Unix și Unix. Există o lungă istorie a concurenței între acești doi editori de text, care sunt mult mai avansați decât alți editori de text de pe platforma Unix. În timp ce ambii editori prezintă funcționalități similare prin intermediul pluginurilor, scripturilor și chei de acces rapid, abordările lor sunt puțin diferite.

Diagramă de comparație

Emacs versus graficul Vim
Emacssevă
Previzualizare versiune 23 7.2a.13 (2008-07-04)
Scris in C și Emacs Lisp C și scriptul Vim
Platformă Cross-platform, inclusiv Unix, Linux și Microsoft Windows Cross-platform, inclusiv Unix, Linux și Microsoft Windows
Disponibil in Engleză, chineză, franceză, italiană, poloneză, rusă Engleză, chineză, franceză, italiană, poloneză, rusă
Tip Editor de text Editor de text
Licență GNU GPL Software gratuit, charityware, GPL compatibil
website http://www.gnu.org/software/emacs/ http://www.vim.org/
Introducere (de la Wikipedia) Emacs este o clasă de editori de text bogat în caractere, caracterizată de extensivitatea lor. Emacs are peste 1.000 de comenzi de editare. De asemenea, permite utilizatorului să combine aceste comenzi în macro-uri pentru a automatiza munca. Vim este un editor de text primul lansat de Bram Moolenaar în 1991 pentru calculatorul Amiga. Numele "Vim" este un acronim pentru "Vi IMproved" deoarece Vim a fost creat ca o versiune extinsă a editorului vi, cu multe caracteristici suplimentare proiectate să fie de ajutor
Proiectat de Richard Stallman Bram Moolenaar
Eliberarea inițială 1976 1991
Versiune stabila 22.3 (2008-09-05) 7.2 (2008-08-09)
Taste de rezervă Sunt acceptate atât în ​​linia de comandă, cât și în interfața grafică a utilizatorului Sunt acceptate atât în ​​linia de comandă, cât și în interfața grafică a utilizatorului

Conținut: Emacs vs Vim

  • 1 Emacs și interfața utilizator Vim
    • 1.1 Ușurința învățării
    • 1.2 Productivitatea și viteza de editare
  • Utilizarea 2 RAM a lui Emacs vs Vim
  • 3 Extensibilitatea și personalizarea Emacs vs Vim
    • 3.1 Interfață grafică de utilizator (GUI)
  • 4 Referințe

Emacs și Vim User Interface

Vim folosește modurile de editare - cel mai frecvent comandă și introduceți modul. Vim își propune să minimizeze numărul de apăsări de taste pe care un utilizator trebuie să le apese, deoarece vi, pe care se bazează Vim, a fost proiectat pentru a fi utilizat pe terminale lente.

Emacs utilizează tastele de modificare pentru a activa comenzile rapide, care implică adesea apăsarea mai multor taste simultan pentru o singură funcție. Acest aspect al lui Emacs este deseori criticat.

Ușurința învățării

Emacs este mai ușor de învățat, deoarece are o interfață mai naturală (pentru utilizatorii familiarizați cu editoare de text bazate pe GUI). Din moment ce Vim are diferite moduri de editare, începătorii consideră că este ceva mai greu de învățat.

Productivitatea și viteza de editare

Vad entuziaștii susțin că odată ce un utilizator se familiarizează cu modurile și comenzile de editare ale Vim, acesta permite o productivitate și o eficiență mult mai mare. Editarea fișierelor este de obicei mai rapidă cu Vim decât cu Emacs datorită interfeței intenționate de viteză a Vim. De exemplu, mișcarea cursorului poate fi controlată prin H, J, K, și L chei în Mod normal. Acest lucru înseamnă că mâinile utilizatorului nu trebuie să părăsească poziția "rândul de acasă", ceea ce îmbunătățește eficiența, dar vine la prețul de adăugare a cheltuielilor generale, deoarece este necesară schimbarea modului pentru a alege între mișcare și editarea textului. În Emacs (cu configurația implicită), utilizatorul mută cursorul cu comenzile rapide Ctrl-B sau Ctrl-F, ceea ce ar putea încetini utilizatorul începător, deoarece trebuie să fie apăsate două taste. Productivitatea și îmbunătățirea eficienței în Emacs depind mai degrabă de configurația mediului de editare decât de editorul propriu-zis.

Utilizarea RAM a lui Emacs vs Vim

Vim este mai ușor decât Emacs și utilizează mai puțină memorie. Vim pledează pentru a critica consumul de resurse al Emacs, sugerând că Emacs înseamnă "Optzeci de megabiți și o schimbare constantă".

Cu toate acestea, cu gnuclient, poate fi rulat un singur proces Emacs persistent care poate suporta simultan mai mulți clienți. Aceasta accelerează timpul de pornire și scade consumul total de memorie, închizând decalajul dintre Emacs și Vim.

Extensibilitatea și personalizarea Emacs vs Vim

În timp ce atât Vim, cât și Emacs acceptă pluginuri care le îmbunătățesc funcționalitatea, Emacs acceptă o personalizare mai amplă a mediului editor. Aceasta este, fără îndoială, cea mai importantă caracteristică a emacs-urilor și este responsabilă pentru o mare parte a celor dedicați de emacs.

Emacs poate fi extins în elisp, în timp ce Vim are propriul limbaj intern de scripting și susține utilizarea altor limbi de programare pentru dezvoltarea plugin-urilor.

Emacs poate fi extins în zbor prin redefinirea funcțiilor elisp built-up, fie prin tastarea noii definiții în Emacs, fie prin încărcarea fișierelor elisp. Grupurile de modificări asociate se numesc "moduri" și pot fi configurate cu ușurință pentru a fi utilizate automat pentru anumite tipuri de fișiere (buffere). Deci, este ușor să definiți moduri pentru diferite limbi de programare sau cadre, cum ar fi "modul lisp" sau "modul Ruby on Rails" sau "modul PHP". Aceste moduri pot modifica direct chiar și comportamentele de bază ale Emacs-ului, formatul sau colorarea automată a textului și adăugarea unui șablon standard sau a unui text "boilerplate", cum ar fi declarațiile de funcții și închiderile. Deci, programatorii găsesc Emacs mult mai adaptabil la cerințele lor specifice decât Vim. Cu toate acestea, unii programatori ar putea găsi Vim în cele din urmă să fie mai potrivite pentru mediul lor de programare datorită operației sale la fel de personalizabile și pe deplin modale.

De asemenea, Vim poate fi extins în zbor folosind modul de comandă. Modul de comandă permite setarea opțiunilor de configurare, funcțiile care trebuie definite și macrocomenzile care trebuie făcute. De fapt, fișierele de configurare pentru Vim sunt doar comenzi care pot fi introduse prin modul de comandă.

Interfață grafică de utilizator (GUI)

Atât Vim cât și Emacs au interfețe grafice de utilizator. Practic, toate elementele de meniu de pe interfața grafică pentru ambii editori sunt pur și simplu modalități de a trata o comandă rapidă sau o configurație rapidă. GUI-urile pentru editori nu oferă practic nicio funcție suplimentară dincolo de cele disponibile în CLI (interfața liniei de comandă)

Emacs utilizează XDisplay sau gtk2 pentru GUI. Vim poate folosi multe alte biblioteci GUI, cum ar fi gtk, gnome, gnome2, motif, athena și neXtaw, în plus față de gtk2.

Referințe

  • wikipedia: Vi
  • Emacs Wikipedia:
  • http://www.io.com/~dierdorf/emacsvi.html
  • http://thomer.com/vi/vi.html
  • Emacs are puterea lui Lisp, ceea ce îl face foarte flexibil
  • Ghidul începătorului pentru emacs