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:
- Un organizator personal (Emacs)
- Un editor wiki în interior (vim)
- Moduri de a te face terapie, cafea y tweet/săpa (Emacs)
- Și chiar și un distribuție completă pentru a face viața mai ușoară pentru programatori (Vim)
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 😀
Folosesc doar nano și doar pentru a edita unele fișiere 0.0
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)
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
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.
ahahaha mi se întâmplă la fel, cu nano am rămas 😀
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.
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
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
[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 😛
„Vim și Emacs”. Acel „e” din titlu (și undeva în text) este folosit greșit ...
Ș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
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.
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.
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.
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 😉
Mulțumesc. Feedback-ul și critica constructivă ne servesc tuturor.
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.
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.
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)
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
Vim Vim Vim!, Pentru totdeauna, funcționează pentru orice și oriunde, nu o schimb niciodată
Ahm, nu știu, sunt leneș și folosesc Sublime xD
Folosesc întotdeauna Vim, îl ador și mi se pare foarte practic și confortabil 😀
Pur și simplu vim, esențial în ziua mea.
vim REGULI! dar „ed” ROCI !!!!,
Vim orange scrie fine vim cristal scrie normal, vim, vim, vim ...
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.