Vim și Emacs: totul liniștit în față

Printre războaie sfinte Cel mai legendar dintre care suntem conștienți este războiul editorilor. Vi / Vim împotriva lui Emacs. Acest lucru este deosebit de distractiv, deoarece ambele sunt software gratuit, cu capacități foarte mari.

Acest lucru se întoarce cu mulți ani în urmă. Emacs a fost dezvoltat de Richard Stallman în anii 35, lansat acum aproximativ 1991 de ani. Vi are aproximativ aceeași vârstă, creată de Bill Joy. Vim, pe de altă parte, este ceva mai recent și apare din necesitatea ca Bram Moolenar să creeze o clonă de Vi pentru Amiga în XNUMX.

Ce retro! Editori din epoca de piatră, când viața era mai simplă. Și continuăm să le folosim pentru că ele evoluează și se adaptează vremurilor. Vim și Emacs folosesc interfețe moderne în GTK, au propriile limbaje de extensie, manageri de pachete; printre altele care i-au pus printre redactori modern.

La ce le folosesc?

Să punem o circumstanță complet ipotetică. Un Gúgol este un cuvânt matematic care definește unul urmat de o sută de zerouri. Cum o scriem într-un editor de text?

Prima soluție care îmi vine în minte este să tastați una și să apăsați tasta 0 până când contorul de coloane mă stabilește la 101, deoarece 101 caractere ar trebui să măsoare această expresie. Presupunem că modificăm acest lucru într-un editor de text competent, care are o bară de stare pentru a afișa aceste lucruri.

Acum, mă pot gândi la o soluție mai simplă:

i1 ESC 100a0 ESC

Desigur, această soluție necesită Vim sau cel puțin Vi. El comandă este destul de simplu și parcă i-am spune lui Vim: Fiind în modul normal, introduceți 1 și revine la modul normal. Acum introduceți după cursor de o sută de ori 0 și revine la modul normal. Vim ne va îndeplini comanda fără întrebări.

Complexitate

Această soluție sună extrem de complexă și o înțeleg. În primul rând, pentru că avem de-a face cu conceptul de a editor modal. Dar există cazuri în care este mult mai util decât pare.

Să presupunem că avem o listă de cumpărături. Vom merge la magazin și vrem să scriem ce vom aduce. Amintiți-vă că este ceva ipotetic, nimeni nu ar trebui să-și ducă computerul la magazin pentru a merge la mâncare. Oricum, aceasta este lista noastră:

1 banană 4 mere 2 kilograme de zahăr 1 litru de apă

Este o listă de cumpărături foarte simplă. Dar vom face câteva aranjamente. În primul rând, cred că alte câteva banane nu ar fi rău. Pe măsură ce ne place estetica, vom schimba litere mici în mere să o părăsească ca. banană și vom înlocui numele unităților cu abrevierile acestora.

Deci sa începem. Deoarece dorim o copie de rezervă a listei noastre originale, facem o copie cu 4yy și îl lipim mai jos cu p. Apăsați Ctrl-a de câteva ori pentru a crește numărul de banane și treceți la sfârșitul cuvântului următor cu e. Coborâm la linia a doua, facem o Fm pentru a ajunge la cuvântul mere și apăsați ~ (AltGr-4 pe tastatura mea), astfel încât litera să treacă la versiunea sa cu majuscule. Facem un j pentru a coborî la linia următoare și vom apărea în k de kg cu b. Ieșim din modul normal tastând cw și scrierea cuvântului de înlocuire pentru kilograme, care va fi kg. Apăsăm ESC, revenind la modul normal și din nou j să facă la fel cu Litru. Gata. Așa arată lista noastră acum.

3 Banane 4 Mere 2 kg zahăr 1 L apă

Puterea

Să rezumăm acțiunea de mai sus în acest sens:

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

Am respectat unele spații pentru ao face ușor de înțeles, dar de obicei nu se face. Această ordine a unui robot ne face să ne gândim mult la utilitatea sa. Dar cu siguranță este mai rapid să faceți acest lucru decât să vă deplasați cu mouse-ul, să selectați, să copiați, să lipiți, să ștergeți și așa mai departe.

Editorii, atâta timp cât Vim sau Emacs pot face astfel de lucruri, deoarece au fost dezvoltați de ani de zile și cu idei foarte clare despre cum să faci lucrurile.

Curbele de învățare

Da, sunt abrupte. Dar pentru asta sunt inițiative precum Cream, care oferă un mediu Vim complet gata de utilizare, chiar din cutie, fără să trebuiască să se lupte cu modurile și cu acel mod și cu guru, o extensie Emacs care - din câte știu eu - ajută începătorii.

Modul guru face parte din Emacs Prelude, o colecție de extensii ce vă face mai ușor dacă vrei să înveți

Extensii

Deoarece sunt editori mai răspândiți decât mulți editori moderni și au propriile limbi de extensie, puteți găsi teme de culori, pluginuri și multe altele. Există lucruri interesante ca:

Se pare că este mai ușor (sau mai plăcut) să programezi extensii în Emacs Lisp decât în ​​VimScript. Adică, este un limbaj funcțional interpretat de un nucleu conceput pentru asta, împotriva unui limbaj imperativ făcut pentru configurare și extindere.

Concluzie

Aruncă o privire! Nu vă costă nimic, ambele sunt programe gratuite distribuite gratuit. Acestea trebuie să fie în depozitele tuturor distribuțiilor cunoscute de om și pot fi chiar găsite în sistemele proprietare malefice. Nu sunt mult mai multe de cerut.

Și, în cele din urmă, dacă ați fost surprins de ce am pus un e în fața lui Emacs în titlu în loc de un y, este pentru că îmi sună mai bine. Ceva de genul / í-macs /. Am reușit să-mi scutesc problemele de ortografie schimbând poziția, dar îmi place foarte mult ca Vim să-i facă asta 😀


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Putreze87 el a spus

    Folosesc doar nano și doar pentru a edita unele fișiere 0.0

    1.    anti el a spus

      Acesta este în mare parte un argument pentru utilizarea acestora. Văd că mulți oameni preferă să nu le încerce și am început să scriu ceva pentru a-i încuraja. Asta e.

      (Știu că este un element slab)

      1.    Damian rivera el a spus

        Nu este deloc leneș, emacs și vim sunt editori de text minunați, îi prefer (vim) în loc de un IDE

        În ceea ce priveşte

        1.    anti el a spus

          Mulțumesc. Acum, când mă gândesc la asta, cred că am dat din greșeală o lingură. „Distribuția” pe care o menționez pare că tocmai a fost lansată astăzi.

    2.    KZKG ^ Gaara el a spus

      ahahaha mi se întâmplă la fel, cu nano am rămas 😀

  2.   eolander el a spus

    Ei bine, recent, trebuia să editez un fișier prin telnet într-un punct de acces cu dd-wrt și trebuia să-mi amintesc vi.

  3.   MSX el a spus

    1. " există războiul editorilor. »
    EROARE!
    Vim este un editor, Emacs este colizorul de hadroni gata de utilizat de pe computer, știi!

    2. Folosirea Cream (ajjj) sau a oricărui tip de „ajutor” pentru Vim sau Emacs este același lucru cu instalarea Manjaro și pretinderea că ați instalat și folosiți Arch - cu posibilul avertisment că un ajutor nu schimbă esența Vim sau Emacs și Manjaro este Manjaro dar nu Arch.

    Dacă vrei cu adevărat să-l faci cu Emacs, există câteva site-uri interesante:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    anti el a spus

      Emacs este un interpret Lisp cu funcții adăugate pentru editarea textului.
      Cream poate fi orice vrei, dar este acolo, astfel încât începătorii să nu se prăbușească direct în peretele de editare modal.
      Emacs este puțin mai ușor la început, pentru că da, scrie primului

  4.   Annubis el a spus

    [modul falmewar ON]

    Emacs, acel sistem de operare căruia 35 de ani mai târziu îi lipsește încă un editor de text bun 😛

  5.   xykyz el a spus

    „Vim și Emacs”. Acel „e” din titlu (și undeva în text) este folosit greșit ...

    1.    xykyz el a spus

      Și apropo, folosesc vim deja pentru orice. Am început să-l folosesc anul trecut și acum a devenit indispensabil pentru mine. De asemenea, are avantajul că vi este preinstalat în toate (sau cel puțin aproape în toate), ceea ce este aproape același în manipulare, deci știind cum să îl utilizați puteți edita fișiere în orice distribuție, indiferent dacă are X11 sau nu.

      Am încercat Emacs, dar mi s-au părut combinații incomode de tastatură, așa că m-am concentrat pe Vim

    2.    anti el a spus

      El l-a explicat deja până jos. Pentru mine ce ar trebui folosit e deoarece sintagma sună ca. / vim și i-macs /, observând că y se schimbă în e când următorul cuvânt începe cu sunetul i.
      Cu toate acestea, a fost mult mai elegant să-l puneți înapoi și să evitați problemele, dar o mică experimentare nu face rău nimănui.

      1.    xykyz el a spus

        Bine, nu am apucat să citesc întregul articol din lipsă de timp haha.

        Oricum, este totuși o greșeală de ortografie, atât cât pare mai bine.

        1.    anti el a spus

          E in regula. Nimic mai mult decât acest lucru ciudat de criticat fără a termina lectura.
          Sper că mă puteți scuza pentru această lipsă. Se pare că și în recenzie l-au trecut, așa că trebuie să fie de acord cu mine, dar ar trebui revizuite unele referințe de la RAE pentru cuvinte străine. Acestea nu pot fi traduse.

          1.    xykyz el a spus

            Da, nu am terminat-o, recunosc greșeala, dar nu am timp în ultima vreme și nu pot fi în preajmă cât aș vrea. De fapt, este extrem de ciudat faptul că, în cele din urmă, aș fi putut fi aici câteva clipe astăzi.

            În ceea ce privește cuvintele străine, conjuncția „și” nu este un cuvânt străin, chiar dacă emacs este. Din câte am înțeles (pe care nici eu nu am timp să le verific acum) emacs ar trebui să citească emacs, oricât l-am citi în engleză. În caz contrar, ar fi dificil să aplici regulile de ortografie, deoarece dacă vorbești spaniolă, nu trebuie să vorbești engleză sau germană și, prin urmare, nu trebuie să știi cum se pronunță aceste cuvinte în aceste limbi.

            Oricum, nu a fost o critică, ci doar un comentariu și îți spun de acum că îmi plac întotdeauna articolele tale 😉

        2.    anti el a spus

          Mulțumesc. Feedback-ul și critica constructivă ne servesc tuturor.

  6.   diazepam el a spus

    Nu-mi place să le folosesc, dar, într-un curs de programare funcțională avansată, a trebuit să faci un editor de tip Vim, dar în haskell.

  7.   Tyo100 el a spus

    Prefer vi sau vim pentru că sunt cel mai universal, deoarece în orice sistem de operare funcționează la fel și toate * nix îl includ și prin toate mă refer la toată lumea de la GNU / Linux, HP-UX, Solaris, AIX, BSD până la versiunile scurtate de Linux ca dd-wrt.

  8.   Abimael martell el a spus

    Programez 100% cu VIM (Ruby, PHP, Javascript, Coffescript, CSS și multe altele)
    aici este o distribuție pentru programatorii ruby, este foarte completă și are multe lucruri utile, salutări (https://github.com/carlhuda/janus)

    1.    Damian rivera el a spus

      Este ceea ce spun (mai sus) folosesc vim pentru mono, java, perl, bash și python numai că limbile neinterpretate trebuie să folosească terminalul pentru a compila, în FreeBSD folosesc (și folosesc) o mulțime de VI care este editorul nativ, dar instalează și ee și joe foarte bine (asemănător cu nano), în Gentoo lucrul bun este că aduce nano, dar deja am compilat vim și îmi place mult! Este cel mai bun editor existent și modificat în funcție de nevoile dvs. este un instrument perfect pentru administrarea sistemului

      În ceea ce priveşte

  9.   Matias (@ W4t145) el a spus

    Vim Vim Vim!, Pentru totdeauna, funcționează pentru orice și oriunde, nu o schimb niciodată

  10.   nano el a spus

    Ahm, nu știu, sunt leneș și folosesc Sublime xD

  11.   Daniel Rojas el a spus

    Folosesc întotdeauna Vim, îl ador și mi se pare foarte practic și confortabil 😀

  12.   dragnell el a spus

    Pur și simplu vim, esențial în ziua mea.

  13.   Guido rolon el a spus

    vim REGULI! dar „ed” ROCI !!!!,

  14.   sevă el a spus

    Vim orange scrie fine vim cristal scrie normal, vim, vim, vim ...

  15.   iagurblanco el a spus

    Ar trebui să aflați diferențele dintre „pentru că”, „de ce”, „de ce” și „de ce”. Bărbat, în tot textul nu ai dat niciunul.