Vim ed Emacs: All Quiet Up Front

Tra i guerre sante Il più leggendario di cui siamo a conoscenza è la guerra degli editori. Vi / Vim contro Emacs. Questo è particolarmente divertente perché sono entrambi software gratuiti con capacità molto elevate.

Questo risale a molti anni fa. Emacs è stato sviluppato da Richard Stallman negli anni '35, rilasciato circa 1991 anni fa. Vi ha più o meno la stessa età, creato da Bill Joy. Vim, d'altra parte, è qualcosa di più recente e nasce dalla necessità per Bram Moolenar di creare un clone di Vi per Amiga nel XNUMX.

Quanto retrò! Editori dell'età della pietra, quando la vita era più semplice. E continuiamo a usarli perché si evolvono e si adattano ai tempi. Vim ed Emacs usano interfacce moderne in GTK, hanno i propri linguaggi di estensione, gestori di pacchetti; tra l'altro che li ha messi tra gli editori Moderno.

Per cosa li uso?

Mettiamo una circostanza del tutto ipotetica. Un Gúgol è una parola matematica che definisce uno seguito da cento zeri. Come lo scriviamo in un editor di testo?

La prima soluzione che mi viene in mente è digitare uno e premere il tasto 0 finché il contatore della colonna non mi imposta a 101, perché 101 caratteri dovrebbero misurare questa espressione. Supponiamo di modificarlo in un editor di testo competente, che ha una barra di stato per visualizzare queste cose.

Ora posso pensare a una soluzione più semplice:

i1ESC 100a0ESC

Ovviamente questa soluzione richiede Vim, o almeno Vi. Lui comando è abbastanza semplice, ed è come se dicessimo a Vim: Essendo in modalità normale, inserisci 1 e torna alla modalità normale. Ora inserisci cento volte dopo il cursore 0 e torna alla modalità normale. Vim eseguirà il nostro ordine senza domande.

Complessità

Questa soluzione sembra estremamente complessa e la capisco. Primo, perché abbiamo a che fare con il concetto di a editor modale. Ma ci sono casi in cui è molto più utile di quanto sembri.

Diciamo che abbiamo una lista della spesa. Andremo al negozio e vogliamo scrivere cosa porteremo. Ricorda che è qualcosa di ipotetico, nessuno dovrebbe portare il proprio computer al negozio per andare a mangiare. Comunque, questa è la nostra lista:

1 banana 4 mele 2 chili di zucchero 1 litro d'acqua

È una lista della spesa molto semplice. Ma faremo degli accordi. In primo luogo, penso che qualche banana in più non sarebbe male. Dato che ci piace l'estetica, cambieremo il minuscolo in mele per lasciarla come banana e sostituiremo i nomi delle unità con le loro abbreviazioni.

Quindi iniziamo. Dato che vogliamo un backup del nostro elenco originale, ne facciamo una copia con 4yy e lo incolliamo di seguito con p. Premi Ctrl-un paio di volte per aumentare il numero di banane e passare alla fine della parola successiva con e. Scendiamo alla seconda riga, facciamo a Fm per arrivare alla parola mele e premere ~ (AltGr-4 sulla mia tastiera) in modo che la lettera cambi nella sua versione maiuscola. Facciamo un file j per scendere alla riga successiva e compariamo nella k di chili con b. Usciamo dalla modalità normale digitando cw e scrivendo la parola sostitutiva per chili, che sarà kg. Premiamo ESC, tornando alla modalità normale e di nuovo j fare lo stesso con Litro. Pronto. Ecco come appare la nostra lista ora.

3 Banane 4 Mele 2 kg di zucchero 1 L di acqua

potere

Riassumiamo l'azione di cui sopra in questo:

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

Ho rispettato alcuni spazi per renderlo comprensibile, ma di solito non viene fatto. Questo ordine di un robot ci fa riflettere molto sulla sua utilità. Ma sicuramente è più veloce farlo che spostarsi con il mouse, selezionare, copiare, incollare, eliminare e così via.

Gli editor finché Vim o Emacs possono fare cose del genere perché sono stati sviluppati per anni e con idee molto chiare su come fare le cose.

Curve di apprendimento

Sì, sono ripidi. Ma questo è ciò a cui servono iniziative come Cream, che fornisce un ambiente Vim completamente pronto all'uso senza dover lottare con modalità e cose, e la modalità guru, un'estensione di Emacs che, per quanto ne so, aiuta i principianti.

La modalità guru fa parte di Emacs Prelude, una raccolta di estensioni cosa ti rende facile se vuoi imparare.

Estensioni

Poiché sono editor più diffusi di molti editor moderni e dispongono di linguaggi di estensione propri, è possibile trovare temi colore, plug-in e altro ancora. Ci sono cose così interessanti là fuori come:

Sembra che sia più facile (o più piacevole) programmare estensioni in Emacs Lisp che in VimScript. Voglio dire, è un linguaggio funzionale interpretato da un kernel fatto apposta, contro un linguaggio imperativo fatto per configurare ed estendere.

Conclusione

Guarda! Non ti costa nulla, entrambi sono software gratuiti distribuiti gratuitamente. Devono essere negli archivi di tutte le distribuzioni conosciute dall'uomo e possono essere trovati anche in sistemi proprietari malefici. Non c'è molto altro da chiedere.

E infine, se sei rimasto sorpreso dal motivo per cui ho messo una e prima di Emacs nel titolo invece di una y, è perché a me suona meglio. Qualcosa come / í-macs /. Sono stato in grado di risparmiarmi problemi di ortografia cambiando la posizione, ma mi piace molto che Vim lo faccia 😀


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   marcisce87 suddetto

    Uso solo il nano e solo per modificare alcuni file 0.0

    1.    contro suddetto

      Questo è principalmente un argomento per usarli. Vedo che molte persone preferiscono non provarli e ho iniziato a scrivere qualcosa per incoraggiarli. Questo è tutto.

      (So ​​che è un oggetto debole)

      1.    Damian rivera suddetto

        Non è affatto pigro, emacs e vim sono ottimi editor di testo, li preferisco (vim) invece di un IDE

        saluti

        1.    contro suddetto

          Grazie. Ora che ci penso, penso di aver accidentalmente dato uno scoop. La "distribuzione" di cui parlo sembra sia stata appena pubblicata oggi.

    2.    KZKG ^ Gaara suddetto

      ahahaha a me succede lo stesso, con nano sono rimasto 😀

  2.   eolander suddetto

    Recentemente ho dovuto modificare un file tramite telnet in un punto di accesso con dd-wrt e ho dovuto ricordare vi.

  3.   msx suddetto

    1. " c'è la guerra degli editori. »
    ERRORE!
    Vim è un editor, Emacs è il collisore di adroni pronto per l'uso sul tuo computer, sai!

    2. Usare Cream (ajjj) o qualsiasi tipo di "aiuto" per Vim o Emacs equivale a installare Manjaro e fingere di aver installato e utilizzare Arch - con la possibile avvertenza che un aiutante non cambia l'essenza di Vim o Emacs e Manjaro è Manjaro ma non Arch.

    Se vuoi davvero divertirti con Emacs, ci sono alcuni siti interessanti:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    contro suddetto

      Emacs è un interprete Lisp con funzionalità aggiuntive per la modifica del testo.
      La crema può essere quello che vuoi, ma è lì in modo che gli antipasti non si schiantino direttamente contro il muro della modifica modale.
      Emacs è un po 'più facile all'inizio, perché si, scrivi al primo

  4.   Annubis suddetto

    [modalità falmewar ON]

    Emacs, quel sistema operativo che 35 anni dopo manca ancora di un buon editor di testo 😛

  5.   xykyz suddetto

    "Vim ed Emacs". Quella "e" nel titolo (e da qualche parte nel testo) è usata impropriamente ...

    1.    xykyz suddetto

      E a proposito, uso già vim per tutto. Ho iniziato a usarlo l'anno scorso e ora è diventato indispensabile per me. Ha anche il vantaggio che vi è preinstallato in tutti (o almeno quasi), il che è quasi lo stesso nella gestione, quindi sapendo come usarlo puoi modificare i file in qualsiasi distribuzione, che abbia X11 o meno.

      Ho provato Emacs, ma mi sembravano scomode combinazioni di tasti, quindi mi sono concentrato su Vim

    2.    contro suddetto

      Lo ha già spiegato fino in fondo. Per me cosa dovrebbe essere usato e perché la frase suona come / vim e i-macs /, osservando che la y cambia in e quando la parola successiva inizia con il suono i.
      Tuttavia, era molto più elegante metterlo al contrario ed evitare problemi, ma un po 'di sperimentazione non fa male a nessuno.

      1.    xykyz suddetto

        Ok, non sono riuscito a leggere l'intero articolo per mancanza di tempo ahah.

        Comunque è ancora un errore di ortografia, per quanto suoni meglio.

        1.    contro suddetto

          Va bene. Nient'altro che questa strana cosa da criticare senza finire la lettura.
          Spero che tu possa scusarmi per questa mancanza. Sembra che nella recensione lo abbiano anche superato, quindi devono essere d'accordo con me, ma va rivisto qualche riferimento della RAE per parole straniere. Questi non sono traducibili.

          1.    xykyz suddetto

            Sì, non l'ho finito, ammetto l'errore, ma ultimamente non ho tempo e non posso essere in giro quanto vorrei. In effetti, è estremamente strano che alla fine io sia potuto essere qui per un paio di momenti oggi.

            Per quanto riguarda le parole straniere, la congiunzione 'e' non è una parola straniera, anche se emacs lo è. Da quello che ho capito (che ora non ho nemmeno il tempo di verificare) emacs dovrebbe leggere emacs, non importa quanto lo leggiamo in inglese. Altrimenti sarebbe difficile applicare le regole di ortografia, perché se parli spagnolo non devi parlare inglese o tedesco, e quindi non devi sapere come vengono pronunciate quelle parole in quelle lingue.

            Comunque non era una critica, solo un commento e ti dico da ora che i tuoi articoli mi piacciono sempre 😉

        2.    contro suddetto

          Grazie. Feedback e critiche costruttive servono a tutti noi.

  6.   diazepano suddetto

    Non mi piace usarli ma, in un corso di Advanced Functional Programming, dovevi creare un editor di tipo Vim, ma in haskell.

  7.   Tio100 suddetto

    Preferisco vi o vim perché è il più universale poiché funziona allo stesso modo in qualsiasi sistema operativo e tutti * nix lo includono e con tutto ciò intendo tutti, da GNU / Linux, HP-UX, Solaris, AIX, BSD alle versioni abbreviate di Linux come dd-wrt.

  8.   Abimael martell suddetto

    Programma al 100% con VIM (Ruby, PHP, Javascript, Coffescript, CSS e altro)
    ecco una distribuzione per programmatori ruby, è molto completa e ha molte cose utili, saluti (https://github.com/carlhuda/janus)

    1.    Damian rivera suddetto

      È quello che dico (sopra) uso vim per mono, java, perl, bash e python solo che i linguaggi non interpretati devono usare il terminale per compilare, in FreeBSD uso (e uso) molti VI che è l'editor nativo ma installa anche ee e joe molto buono (simile a nano), in Gentoo la cosa buona è che porta nano ma ho già compilato vim e mi piace molto! È il miglior editor che ci sia e modificato in base alle tue esigenze è uno strumento perfetto per l'amministrazione del sistema

      saluti

  9.   Matias (@ W4t145) suddetto

    Vim Vim Vim!, Per sempre, funziona per tutto e ovunque, non lo cambio mai

  10.   nano suddetto

    Ahm, non lo so, sono pigro e utilizzo Sublime xD

  11.   Daniele Rojas suddetto

    Uso sempre Vim, lo adoro e lo trovo molto pratico e comodo 😀

  12.   dragnell suddetto

    Semplicemente vim, essenziale nella mia giornata.

  13.   Guido rolon suddetto

    vim REGOLE! ma «ed» ROCKS !!!!,

  14.   vim suddetto

    Vim orange scrive bene vim cristal scrive normale, vim, vim, vim ...

  15.   yogurt bianco suddetto

    Dovresti imparare le differenze tra "perché", "perché", "perché" e "perché". Maschio, in tutto il testo non ne hai dato nemmeno uno.