Vim en Emacs: All Quiet Up Front

Onder de heilige oorlogen Het meest legendarische waarvan we ons bewust zijn, is de uitgeversoorlog. Vi / Vim tegen Emacs. Dit is vooral leuk omdat ze allebei gratis software zijn en zeer hoge mogelijkheden hebben.

Dit gaat vele jaren terug. Emacs is ontwikkeld door Richard Stallman in de jaren 35, ongeveer 1991 jaar geleden uitgebracht. Vi is ongeveer even oud, gemaakt door Bill Joy. Vim, aan de andere kant, is iets recenter en komt voort uit de behoefte voor Bram Moolenar om in XNUMX een kloon van Vi voor Amiga te maken.

Hoe retro! Uitgevers uit het stenen tijdperk, toen het leven eenvoudiger was. En we blijven ze gebruiken omdat ze evolueren en zich aanpassen aan de tijd. Vim en Emacs gebruiken moderne interfaces in GTK, ze hebben hun eigen extensietalen, pakketbeheerders; onder andere die ze onder de redactie plaatsten modern.

Waar gebruik ik ze voor?

Laten we een volledig hypothetische omstandigheid stellen. Een Gúgol is een wiskundig woord dat een een definieert gevolgd door honderd nullen. Hoe schrijven we het in een teksteditor?

De eerste oplossing die in je opkomt is om een ​​een te typen en op de 0-toets te drukken totdat de kolomteller me op 101 zet, omdat 101 tekens deze uitdrukking zouden moeten meten. We gaan ervan uit dat we dit bewerken in een competente teksteditor, die een statusbalk heeft om deze dingen weer te geven.

Nu kan ik een eenvoudigere oplossing bedenken:

i1 ESC 100a0 ESC

Deze oplossing vereist natuurlijk Vim, of in ieder geval Vi. Hij Comando het is vrij eenvoudig, en het is alsof we tegen Vim zeggen: in de normale modus, insert 1 en keert terug naar de normale modus. Voeg nu honderd keer in na de cursor 0 en keert terug naar de normale modus. Vim zal onze bestelling zonder twijfel uitvoeren.

Complexiteit

Deze oplossing klinkt buitengewoon complex, en ik snap het. Ten eerste omdat we te maken hebben met het concept van een modale editor. Maar er zijn gevallen waarin het veel nuttiger is dan het klinkt.

Laten we zeggen dat we een boodschappenlijst hebben. We gaan naar de winkel en we willen schrijven wat we gaan brengen. Onthoud dat het iets hypothetisch is: niemand mag zijn computer naar de winkel brengen om eten te halen. Dit is hoe dan ook onze lijst:

1 banaan 4 appels 2 kilo suiker 1 liter water

Het is een heel eenvoudig boodschappenlijstje. Maar we gaan wat afspraken maken. Ten eerste denk ik dat nog een paar bananen niet slecht zouden zijn. Omdat we van esthetiek houden, veranderen we de kleine letters in appels om haar te verlaten als banaan en we zullen de namen van de eenheden vervangen door hun afkortingen.

Dus laten we beginnen. Omdat we een back-up willen van onze originele lijst, maken we een kopie met 4yy en we plakken het hieronder met p. Druk een paar keer op Ctrl-a om het aantal bananen te verhogen en met naar het einde van het volgende woord te gaan e. We gaan naar de tweede regel, we doen een Fm om bij het woord appels te komen en druk op ~ (AltGr-4 op mijn toetsenbord) zodat de letter verandert in de hoofdletterversie. We maken een j om naar de volgende regel te gaan en we verschijnen in de k van kilo met b. We verlaten de normale modus door te typen cw en het vervangende woord voor kilo's schrijven, dat zal kg zijn. We drukken op ESC, keren terug naar de normale modus en opnieuw j hetzelfde te doen met Liter. Klaar. Dit is hoe onze lijst er nu uitziet.

3 Bananen 4 Appels 2 kg suiker 1 L water

De kracht

Laten we de bovenstaande actie hierin samenvatten:

4yy G p 2Ctrl-A e Fm ~ jb cw kg ESC jb cw L ESC

Ik heb enkele ruimtes gerespecteerd om het begrijpelijk te maken, maar het wordt meestal niet gedaan. Deze volgorde van een robot doet ons veel nadenken over het nut ervan. Maar het is zeker sneller om dit te doen dan met de muis te bewegen, selecteren, kopiëren, plakken, verwijderen enzovoort.

Editors met zo'n lange geschiedenis als Vim of Emacs kunnen dit soort dingen doen, omdat ze al jaren ontwikkeld zijn en met zeer duidelijke ideeën over hoe ze dingen moeten doen.

Curves leren

Ja, ze zijn steil. Maar dat is waar initiatieven als Cream voor zijn, die direct uit de doos een volledig gebruiksklare Vim-omgeving biedt zonder te hoeven worstelen met modi en die, en guru-modus, een Emacs-extensie die - voor zover ik weet - helpt beginners.

De goeroe-modus is onderdeel van Emacs Prelude, een verzameling extensies wat het je gemakkelijk maakt als je wilt leren.

Extensies

Omdat ze meer wijdverspreide editors zijn dan veel moderne editors en hun eigen extensietalen hebben, kun je kleurenthema's, plug-ins en meer vinden. Er zijn zulke interessante dingen zoals:

Het lijkt erop dat het eenvoudiger (of aangenamer) is om extensies te programmeren in Emacs Lisp dan in VimScript. Ik bedoel, het is een functionele taal die wordt geïnterpreteerd door een kernel die daarvoor is gemaakt, in tegenstelling tot een dwingende taal die is gemaakt om te configureren en uit te breiden.

Conclusie

Kijk eens! Het kost u niets, beide zijn gratis software die gratis wordt verspreid. Ze moeten in de repositories staan ​​van alle distributies die de mens kent en kunnen zelfs worden gevonden in malafide propriëtaire systemen. Er is niet veel meer te vragen.

En tot slot, als je verbaasd was waarom ik een e voor Emacs in de titel heb gezet in plaats van een y, is dat omdat het mij beter klinkt. Iets als / í-macs /. Ik heb mezelf spellingsproblemen kunnen besparen door van positie te veranderen, maar ik vind het echt leuk dat Vim dat doet 😀


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   rot87 zei

    Ik gebruik alleen de nano en alleen om enkele bestanden 0.0 te bewerken

    1.    anti zei

      Dit is meestal een argument om ze te gebruiken. Ik zie dat veel mensen ze liever niet proberen, en ik begon iets te schrijven om ze aan te moedigen. Dat is het.

      (Ik weet dat het een zwak item is)

      1.    Damian riviera zei

        Het is helemaal niet lui, emacs en vim zijn geweldige teksteditors, ik geef er de voorkeur aan (vim) in plaats van een IDE

        groeten

        1.    anti zei

          Dank je. Nu ik erover nadenk, denk ik dat ik per ongeluk een primeur heb gegeven. De 'distributie' die ik noem, ziet eruit alsof deze net vandaag is uitgebracht.

    2.    KZKG ^ Gaara zei

      ahahaha het overkomt mij hetzelfde, met nano blijf ik over

  2.   Eolandro zei

    Nou, onlangs moest ik een bestand via telnet bewerken in een toegangspunt met dd-wrt en ik moest vi onthouden.

  3.   msx zei

    1. " daar is de uitgeversoorlog. »
    FOUT!
    Vim is een editor, Emacs is de kant-en-klare hadron-collider op je computer, weet je!

    2. Cream (ajjj) of een andere soort "helper" gebruiken voor Vim of Emacs is hetzelfde als Manjaro installeren en doen alsof je Arch hebt geïnstalleerd en gebruikt - met het mogelijke voorbehoud dat een helper de essentie van Vim of Emacs niet verandert en Manjaro is Manjaro maar niet Arch.

    Als je het echt met Emacs wilt rocken, zijn er enkele coole sites:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    anti zei

      Emacs is een Lisp-interpreter met extra functies voor het bewerken van tekst.
      Cream kan zijn wat je maar wilt, maar het is er zodat starters niet direct tegen de muur van de modale bewerking botsen.
      Emacs is in het begin wat gemakkelijker, omdat ja, schrijf naar de eerste

  4.   annubis zei

    [mode falmewar AAN]

    Emacs, dat besturingssysteem dat 35 jaar later nog steeds geen goede teksteditor heeft 😛

  5.   xykyz zei

    "Vim en Emacs". Die "e" in de titel (en ergens in de tekst) wordt misbruikt ...

    1.    xykyz zei

      En trouwens, ik gebruik vim al voor alles. Ik ben het vorig jaar gaan gebruiken en nu is het voor mij onmisbaar geworden. Het heeft ook het voordeel dat vi voorgeïnstalleerd is in alle (of in ieder geval bijna alle), wat bijna hetzelfde is in het gebruik, dus wetende hoe je het moet gebruiken, kun je bestanden in elke distributie bewerken, of het nu X11 heeft of niet.

      Ik heb Emacs geprobeerd, maar ze leken ongemakkelijke toetsenbordcombinaties, dus concentreerde ik me op Vim

    2.    anti zei

      Hij legde het al helemaal uit. Voor mij wat moet worden gebruikt e omdat de zin klinkt als / vim en i-macs /, waarbij we opmerken dat de y verandert in e wanneer het volgende woord begint met de i-klank.
      Het was echter veel eleganter om het achterstevoren te plaatsen en problemen te vermijden, maar een beetje experimenteren doet niemand pijn.

      1.    xykyz zei

        Oké, ik heb door tijdgebrek niet het hele artikel gelezen haha.

        Het is sowieso nog steeds een spelfout, hoe beter het ook klinkt.

        1.    anti zei

          Het is in orde. Niets meer dan dit vreemde om te bekritiseren zonder de lezing af te maken.
          Ik hoop dat je me kunt excuseren voor dit gebrek. Het lijkt erop dat ze het in de recensie ook hebben doorstaan, dus ze moeten het met mij eens zijn, maar een verwijzing van de RAE voor buitenlandse woorden moet worden herzien. Deze zijn niet vertaalbaar.

          1.    xykyz zei

            Ja, ik heb het niet afgemaakt, ik geef de fout toe, maar ik heb de laatste tijd geen tijd en ik kan er niet zo vaak zijn als ik zou willen. In feite is het buitengewoon vreemd dat ik hier vandaag uiteindelijk een paar ogenblikken had kunnen zijn.

            Wat betreft buitenlandse woorden, het voegwoord 'en' is geen vreemd woord, ook al is emacs dat wel. Van wat ik begrijp (wat ik nu ook geen tijd heb om te verifiëren) zou emacs emacs moeten lezen, ongeacht hoeveel we het in het Engels lezen. Anders zou het moeilijk zijn om de spellingsregels toe te passen, want als je Spaans spreekt, hoef je geen Engels of Duits te spreken, en daarom hoef je niet te weten hoe die woorden in die talen worden uitgesproken.

            Hoe dan ook, het was geen kritiek, maar een opmerking en ik vertel je vanaf nu dat ik je artikelen altijd leuk vind 😉

        2.    anti zei

          Dank je. Feedback en opbouwende kritiek dienen ons allemaal.

  6.   diazepam zei

    Ik gebruik ze niet graag, maar in een cursus Advanced Functional Programming moest je een Vim-achtige editor maken, maar dan in haskell.

  7.   Tyo100 zei

    Ik geef de voorkeur aan vi of vim omdat het de meest universele is, omdat het in elk besturingssysteem hetzelfde werkt en all * nix het bevat en met alles bedoel ik iedereen van GNU / Linux, HP-UX, Solaris, AIX, BSD tot verkorte versies van Linux als dd-wrt.

  8.   Abimael martell zei

    Ik programmeer 100% met VIM (Ruby, PHP, Javascript, Coffescript, CSS en meer)
    hier is een distributie voor ruby ​​programmeurs, het is zeer compleet en heeft veel nuttige dingen, groeten (https://github.com/carlhuda/janus)

    1.    Damian riviera zei

      Dit is wat ik zeg (hierboven) ik gebruik vim voor mono, java, perl, bash en python, alleen niet-geïnterpreteerde talen hoeven de terminal te gebruiken om te compileren, in FreeBSD gebruik (en gebruik) ik veel VI die is de native editor maar installeert ook ee en joe erg goed (vergelijkbaar met nano), in Gentoo is het goede ding dat het nano brengt, maar ik heb al vim gecompileerd en ik vind het erg leuk! Het is de beste editor die er is en aangepast aan uw behoeften, het is een perfect hulpmiddel voor systeembeheer

      groeten

  9.   Matias (@ W4t145) zei

    Vim Vim Vim !, voor altijd, het werkt voor alles en overal, ik verander het nooit

  10.   nano zei

    Ahm, ik weet het niet, ik ben lui en ik gebruik Sublime xD

  11.   Daniël Rojas zei

    Ik gebruik Vim altijd, ik vind het geweldig en ik vind het erg praktisch en comfortabel 😀

  12.   dragnell zei

    Gewoon vim, essentieel in mijn dagelijks leven.

  13.   Guido Rollon zei

    vim REGELS! maar «ed» ROCKS !!!!,

  14.   vim zei

    Vim orange schrijft prima vim cristal schrijft normaal, vim, vim, vim ...

  15.   yoghurt zei

    U moet de verschillen leren tussen "omdat", "waarom", "waarom" en "waarom". Man, in alle teksten heb je er geen gegeven.