Emacs vs. Vim

Emacs og Vim er de to mest udbredte tekstredaktører på EmacsVimVis udgivelse 23 7.2a.13 (2008-07-04) Skrevet i C og Emacs Lisp C- og Vim-script Platform Krydsplatform, herunder Unix, Linux og Microsoft Windows Krydsplatform, herunder Unix, Linux og Microsoft Windows Tilgængelig i Engelsk, kinesisk, fransk, italiensk, polsk, russisk Engelsk, kinesisk, fransk, italiensk, polsk, russisk Type Teksteditor Teksteditor Licens GNU GPL Gratis software, velgørenhedsværktøj, GPL-kompatibel Internet side http://www.gnu.org/software/emacs/ http://www.vim.org/ Introduktion (fra Wikipedia) Emacs er en klasse med funktionsrige tekstredigerere, som normalt er kendetegnet ved deres udvidelsesmulighed. Emacs har over 1.000 redigeringskommandoer. Det giver også brugeren mulighed for at kombinere disse kommandoer til makroer til at automatisere arbejdet. Vim er en tekstredaktør, der første gang blev frigivet af Bram Moolenaar i 1991 til Amiga-computeren. Navnet "Vim" er et akronym for "Vi IMproved", fordi Vim blev oprettet som en udvidet version af vi-editoren, med mange yderligere funktioner designet til at være nyttige Designet af Richard Stallman Bram Moolenaar Første udgivelse 1976 1991 Stabil frigivelse 22.3 (2008-09-05) 7.2 (2008-08-09) Buffertfaner Understøttes i både kommandolinje og grafisk brugergrænseflade Understøttes i både kommandolinje og grafisk brugergrænseflade

Indhold: Emacs vs Vim

  • 1 Emacs og Vim brugergrænseflade
    • 1.1 Brugervenlighed
    • 1.2 Produktivitet og redigeringshastighed
  • 2 RAM-brug af Emacs vs Vim
  • 3 Udvidbarhed og tilpasning af Emacs vs Vim
    • 3.1 Grafisk brugergrænseflade (GUI)
  • 4 Henvisninger

Emacs og Vim brugergrænseflade

Vim bruger redigeringstilstande - oftest kommandotilstand og indsæt tilstand. Vim sigter mod at minimere antallet af tastetryk, som en bruger skal trykke på, fordi vi, som Vim bygger på, var designet til at blive brugt over langsomme terminaler.

Emacs bruger modificeringstaster til at aktivere genveje, som ofte involverer at trykke på flere taster samtidigt for en enkelt funktion. Dette aspekt af Emacs kritiseres ofte.

Brugervenlighed

Emacs er lettere at lære, da det har en mere naturlig grænseflade (for brugere, der er bekendt med GUI-baserede tekstredigerere). Da Vim har forskellige redigeringsmetoder, synes begynderne det er lidt sværere at lære.

Produktivitet og redigeringshastighed

Vim-entusiaster hævder, at når en bruger bliver bekendt med redigeringsmetoder og kommandoer for Vim, muliggør det langt større produktivitet og effektivitet. Filredigering er normalt hurtigere med Vim end med Emacs på grund af Vims målrettet hastighedsdrevne interface. For eksempel kan markørbevægelsen styres gennem H, J, K, og L nøgler i normal tilstand. Dette betyder, at brugerens hænder ikke behøver at forlade positionen "hjemme række", hvilket forbedrer effektiviteten, men kommer til prisen for at tilføje overhead, da skift af tilstand er påkrævet for at vælge mellem bevægelse og tekstredigering. I Emacs (med standardkonfigurationen) bevæger brugeren markøren med Ctrl-B- eller Ctrl-F-genveje, hvilket muligvis bremser begynderbrugeren, da der skal trykkes på to taster. Produktivitets- og effektivitetsforbedringer i Emacs afhænger af konfigurationen af ​​redigeringsmiljøet snarere end af selve editoren.

RAM-brug af Emacs vs Vim

Vim er lettere end Emacs og bruger mindre hukommelse. Vim-talsmænd kritiserer Emacs 'ressourceforbrug med tungen i kinden-antydningen om, at Emacs står for "Eighty Megabytes and Constently Swapping".

Imidlertid kan med gnuclient køres en enkelt vedvarende Emacs-proces, der kan understøtte flere klienter samtidigt. Dette fremskynder opstartstid og reducerer den samlede hukommelsesforbrug, hvilket lukker afstanden mellem Emacs og Vim.

Udvidbarhed og tilpasning af Emacs vs Vim

Mens både Vim og Emacs understøtter plugins, der forbedrer deres funktionalitet, understøtter Emacs meget mere tilpasning af editormiljøet. Dette er uden tvivl det vigtigste træk ved emacs og er ansvarlig for meget af emacs 'dedikerede følgende.

Emacs kan udvides i oversigt, mens Vim har sit eget interne scriptingsprog og understøtter brug af andre programmeringssprog til plugin-udvikling.

Emacs kan udvides undervejs ved at omdefinere indbyggede elisp-funktioner, enten ved at skrive den nye definition i Emacs eller ved at indlæse elisp-filer. Grupper af relaterede ændringer kaldes "tilstande" og kan let konfigureres til automatisk at blive brugt til bestemte filtyper (buffere). Så det er nemt at definere tilstande til forskellige programmeringssprog eller rammer, såsom "lisp mode" eller "Ruby on Rails mode" eller "PHP mode". Disse tilstande kan direkte ændre selv kerneadfærd for Emacs, automatisk formatere eller farvelægge tekst og tilføje standardskabelon eller "kedelplade" -tekst, såsom funktionserklæringer og lukninger. Så programmører finder Emacs at være langt mere tilpasselig efter deres særlige krav end Vim. Alligevel kan nogle programmerere synes, at Vim i sidste ende er bedre egnet til deres programmeringsmiljø på grund af det lige så tilpasselige og fuldt modale betjening.

Vim kan også udvides mens du bruger kommandotilstand. Kommandotilstanden gør det muligt at indstille konfigurationsindstillinger, definere funktioner og udføre makroer. Faktisk er konfigurationsfiler til Vim bare kommandoer, der kan indtastes via kommandotilstand.

Grafisk brugergrænseflade (GUI)

Både Vim og Emacs har grafiske brugergrænseflader. Stort set alle menupunkter på den grafiske grænseflade for begge redaktører er simpelthen måder at håndtere en genvejskommando eller hurtig konfiguration på. GUI'erne til redigererne leverer næsten ingen ekstra funktioner ud over dem, der er tilgængelige i CLI (kommandolinjegrænseflade)

Emacs bruger XDisplay eller gtk2 til dets GUI. Vim kan bruge mange andre GUI-biblioteker, såsom gtk, gnome, gnome2, motiv, athena og neXtaw, ud over gtk2.

Referencer

  • wikipedia: Vi
  • Wikipedia: Emacs
  • http://www.io.com/~dierdorf/emacsvi.html
  • http://thomer.com/vi/vi.html
  • Emacs har kraften i Lisp, hvilket gør den meget fleksibel
  • Begyndervejledning til emacs