GNU/Linux >> Linux Esercitazione >  >> Linux

Vim vs. Nano vs. Emacs:tre amministratori di sistema intervengono

Editor di testo. Non sono qualcosa su cui la maggior parte degli utenti ha riflettuto molto. Tuttavia, non tutti gli editor di testo sono uguali e, con più tempo al terminale, potresti scoprire che un particolare editor funziona meglio per te. Ho chiesto a molti dei nostri contributori di scrivere una posizione "pro" per Vim, Nano ed Emacs. Ogni editor di testo è rappresentato da un collaboratore con una grande esperienza con l'editor dato. Stiamo parlando di caratteristiche, confronti ed esperienze personali. Passiamo agli editor, con Vim in primo luogo.

[ Potrebbe piacerti anche: Strumenti di amministrazione di sistema:visualizzazione del testo in Linux con coda e testa]

Vim - Ricardo Gerardi

Vim è un editor di testo per tutti gli usi leggero ma potente che soddisfa tutte le tue esigenze di modifica del testo, dalla modifica dei file di configurazione di base all'emulazione di interi ambienti di sviluppo integrati (IDE) per lo sviluppo di software.

Uso Vim in un modo o nell'altro da oltre 20 anni, ma circa cinque anni fa ho deciso di usare Vim per tutte le mie esigenze di testo. Uso Vim per scrivere documentazione, codice in diversi linguaggi di programmazione e ho scritto un intero libro (oltre 400 pagine) utilizzando esclusivamente Vim.

Il nome di Vim è una contrazione di Vi Improved poiché estende l'editor di testo vi originale sviluppato per il sistema operativo Unix negli anni '70/'80. Vim ha tutte le funzionalità che ti aspetteresti da un moderno editor di testo, come:

  • Annulla/Ripristina
  • Completamento automatico
  • Modalità GUI
  • Cerca e sostituisci
  • Terminale integrato
  • Gestione file integrato
  • Controllo ortografico
  • Combinazioni di colori
  • Evidenziazione della sintassi

Potrei elencare molte altre caratteristiche, ma non è questo che rende Vim diverso. Secondo me, Vim è il miglior editor di testo in circolazione a causa di una combinazione di altri fattori. Diamo un'occhiata a quelli di seguito.

1. Vim è onnipresente

Vim è ovunque. È installato per impostazione predefinita nella maggior parte delle distribuzioni Linux. In caso contrario, puoi installarlo utilizzando il gestore di pacchetti della tua distribuzione. Inoltre, molte distribuzioni includono gadget Vim come plugin, estensioni e dizionari con il loro gestore di pacchetti standard. Vim è disponibile anche per molti altri sistemi operativi, inclusi Unix, macOS e Windows. La configurazione di Vim è portatile e puoi avere la stessa esperienza di Vim copiando i tuoi file di configurazione da una macchina all'altra.

2. Vim è veloce

Vim è leggero e veloce. Vim funziona principalmente sul terminale con un ingombro ridotto. In combinazione con un tempo di avvio super veloce e una latenza zero, puoi utilizzare Vim sempre e ovunque, anche su connessioni remote tramite SSH e hardware a bassa potenza. Puoi persino aprire più sessioni Vim contemporaneamente senza influire sulle prestazioni della tua macchina.

3. Vim è guidato dalla tastiera

Vim offre un'esperienza solo con la tastiera. Puoi fare tutto in Vim senza togliere le mani dalla tastiera. Nessun cambio di contesto con il mouse migliora il comfort e l'efficienza. Consente inoltre una buona esperienza durante la digitazione in spazi ristretti, ad esempio durante il pendolarismo su un treno o un autobus.

4. Vim è intuitivo

Vim fornisce comandi di navigazione semplici e veloci. Puoi spostare il cursore con i tasti freccia (o "h", "j", "k", "l" per mantenere la mano sulla riga iniziale) come altri editor di testo ma, quando inizi a utilizzare oggetti di testo, aumenti molto la tua efficienza. Ad esempio, premendo "w" si passa all'inizio della parola successiva, "b" alla parola precedente e "$" alla fine della riga. Puoi anche combinarli con i numeri per muoverti più velocemente. Ad esempio, "3w" si sposta all'inizio della terza parola. Vim fornisce molti di questi comandi di navigazione.

Oltre ai comandi di navigazione, Vim fornisce azioni mnemoniche intuitive. Ad esempio, premi "i" per inserire testo, "c" per modificare , "d" per eliminare , e così via.

La parte migliore è che puoi combinare queste due idee per creare potenti catene di comandi. Ad esempio, "dw" elimina tutto il testo fino alla parola successiva, "d$" elimina fino alla fine della riga e "c3w" modifica tutto il testo fino alla terza parola.

Vim struttura queste catene di comando semanticamente, riflettendo il nostro processo di pensiero, simile alle frasi in inglese con verbi e oggetti. Puoi combinarli logicamente per comporre le tue azioni senza richiedere comandi o funzioni specifici; o memorizzare alcune strane combinazioni di tasti come CTRL+MAIUSC+F4 per eseguire azioni.

Quando inizi con Vim per la prima volta, questi comandi sembrano imbarazzanti ma, con un po' di pratica, rendono la modifica del testo molto efficiente. In effetti, le combinazioni di tasti di Vim sono così popolari che altri editor come Emacs e persino molti IDE forniscono un modo per abilitarle/emularle.

5. Vim è flessibile ed estensibile

Vim è estremamente flessibile e potente. Puoi iniziare in modo semplice e usarlo per modificare rapidamente i file di configurazione. Puoi anche scrivere programmi nel tuo linguaggio di programmazione preferito, con funzionalità come il completamento del codice, l'evidenziazione della sintassi e il controllo della sintassi, simili ai popolari IDE. Vim fornisce l'evidenziazione della sintassi pronta all'uso per molte lingue e tipi di file.

Vim è completamente personalizzabile. Puoi fornire opzioni al volo o tramite un file di configurazione. Puoi anche creare configurazioni condizionali che sono efficaci solo durante la modifica di un particolare tipo di file. Oltre alla personalizzazione, Vim supporta i plugin pronti all'uso. La comunità open source ha sviluppato diversi plugin per estendere ulteriormente le funzionalità di Vim. Puoi aggiungere la sintassi del codice per altre lingue, integrare con Git, aggiungere una barra di stato elaborata, ricerca fuzzy, commenti sul codice intelligente, frammenti di codice e molte altre funzionalità.

Più che un semplice editor di testo, Vim è una piattaforma che ti consente di creare la tua esperienza di modifica del testo in base alle tue esigenze e preferenze.

Vuoi saperne di più?

Se vuoi saperne di più su Vim, dai un'occhiata ad alcuni di questi link:

  • Nozioni di base su Linux:una guida per principianti alla modifica del testo con vim
  • Un'introduzione all'editor vi
  • 5 utili plugin Vim per gli sviluppatori
  • Vim:comandi di base e intermedi
  • I cinque migliori plugin di Vim per gli amministratori di sistema
  • Utilizza le macro di Vim per automatizzare le attività frequenti

Ultima parola su Vim

Vim è un fantastico editor di testo. È veloce, flessibile e potente, ma soprattutto è divertente usare. Onestamente non mi vedo fare alcune delle cose che posso fare in Vim con qualsiasi altro editor, almeno non in modo altrettanto efficiente.

Confesso che Nano mi ha salvato la vita in un paio di occasioni, l'ultima mentre stavo scrivendo un test di certificazione e le combinazioni di tasti di Vim non hanno funzionato a causa di limitazioni con l'interfaccia web dell'esame. La natura semplice di Nano mi ha permesso di completare il test con successo.

Non ho mai usato Emacs, soprattutto perché non ho mai pensato che avrebbe fornito qualcosa che non potevo fare con Vim con un ingombro ridotto. Forse un giorno ci proverò ma, fino ad allora, Vim continua a essere il driver principale per tutte le mie esigenze di modifica del testo.

Inutile dire che ho scritto questo post sul blog usando Vim;-)

Nano - Amy Marrich

Nano è un editor di testo leggero, chiaro e semplice. Il suo unico scopo è consentirti di modificare il testo. In effetti, è così leggero che molti sistemi operativi *nix lo usano come editor in modalità di ripristino.

Nonostante sia leggero, ha alcune capacità più complesse, anche se non nella misura in cui lo fanno alcuni degli altri editor. Poi di nuovo, non è necessario installare nient'altro per usarlo.

Cerca

Come già accennato, altri editor di testo sono molto più robusti, ma una caratteristica che preferisco di gran lunga in Nano è la capacità di ricerca. A differenza della maggior parte degli aspetti di Linux, la funzione di ricerca in Nano non fa distinzione tra maiuscole e minuscole per impostazione predefinita, anche se puoi facilmente dirlo. Questo è utile quando cerchi tutte le istanze di una parola o se non sei sicuro in quale caso si trovi la parola.

Alcuni altri vantaggi della funzione di ricerca includono:

  • Spostamento in posizioni specifiche all'interno del documento
  • Trovare/sostituire una o più parole
  • La possibilità di effettuare ricerche all'indietro
  • Il fatto molto pratico che tornerà in alto una volta raggiunta la fine del documento per continuare la ricerca

Altre risorse

Poiché Nano è leggero e facile da usare, non c'è molta curva di apprendimento per iniziare, ma ecco alcuni tutorial per approfondire:

  • Guida per principianti a Nano, l'editor di testo a riga di comando di Linux
  • Come utilizzare Nano Text Editor
  • Linux Nano Editor spiegato per i principianti (10 esempi)

Emacs - Seth Kenlon

GNU Emacs ha tutte le solite caratteristiche:Installazione semplice dei pacchetti (package-list-packages ), temi facili (customize-themes ), un'interfaccia GUI e un'interfaccia solo terminale, un file manager integrato (dired ), schermi divisi, editing remoto, salvataggi automatici e molto altro.

Le combinazioni di tasti sono un po' imbarazzanti, ma non più che suonare il piano, e spesso è altrettanto fluido, specialmente su una tastiera Dvorak.

Ma penso che sia un lusso unico avere un'applicazione che è anche essa stessa un ambiente di codifica live. Il modo in cui GNU Emacs può ridefinirsi ed essere ridefinito dall'utente è la sua caratteristica più potente.

Lisp

Non ho iniziato a usare Emacs con l'intenzione di interessarmi a Lisp, tanto meno per impararne qualcosa. Anche oggi, il mio .emacs il file di configurazione è poco più di una raccolta patchwork di ingegnosi hack di altre persone. Ma la potenza di GNU Emacs è allettante e un piccolo hack in un file di configurazione può trasformarsi in uno script complesso che ti fa risparmiare ore durante la giornata lavorativa.

Con una conoscenza solo rudimentale di Lisp unita alle funzioni già integrate in Emacs, sono stato in grado di spostare i salvataggi automatici in una directory nascosta, fornendomi la comodità di non dover guardare i file di backup ma allo stesso tempo di sapere che i file di backup esistono .

Non perdo dati in Emacs a causa di un crash o di una disconnessione da anni.

Emac leggeri

C'è di più in Emacs oltre a GNU e Lisp, però.

La tradizione di "emacsen" (che è la forma plurale accettata di più di un Emacs) è precedente e continua oltre l'implementazione di GNU Emacs.

Esistono molte opzioni per gli editor basate su una raccolta di macro e su uno stile specifico di esperienza utente, la maggior parte delle quali più leggere rispetto all'editor GNU.

Alcuni dei miei preferiti:

  • Micro Emacs - Iniziare con alternative leggere a GNU Emacs
  • Per Giove! È un'alternativa leggera a Vim
  • Impara a usare l'editor di testo JOE su Linux
  • Prova l'editor di testo e3 Linux
  • Prova Jed come editor di testo del tuo terminale Linux

Uso questi simili a emacsen ed emacs quasi tutte le volte che uso GNU Emacs perché sono facili da compilare ed eseguire da /home su server in cui non ho i privilegi sudo. Forniscono combinazioni di tasti simili (o le stesse) a cui sono abituato, accesso a macro e funzioni e un'esperienza utente complessiva familiare. E poiché Emacs è un concetto così grande, molto spesso è anche in grado di fornire un'esperienza utente familiare agli utenti di altri editor.

Puoi usare le combinazioni di tasti Vim in GNU Emacs con evil-mode e puoi imitare GNU Nano con jpico di Joe .

Il mondo Emacs

Il mondo di Emacs è ricco e, ogni volta che provo altri editor, non ho ancora trovato nulla che manchi in GNU Emacs.

Certo, mi piace Vim per le modifiche rapide e la sua semplice navigazione, e ho un apprezzamento legittimamente riverente per l'interfaccia intuitiva di Nano, ma Emacs è il posto che chiamo casa.

[ Iniziare con i container? Dai un'occhiata a questo corso gratuito. Distribuzione di applicazioni containerizzate:una panoramica tecnica. ]

Tempo di decisione

Ok, quindi ora devi prendere una decisione. Quale di questi editor di testo sarà il migliore per te? Se sei come me, quello che è installato e facile da raggiungere è quello che uso più spesso (Vim). Tuttavia, non posso scegliere per te. Il miglior consiglio che posso dare è di provare ogni editor per te stesso e vedere quale sapore ti piace di più. Ricorda, l'obiettivo è essere efficiente e a tuo agio con qualsiasi editor tu scelga.


Linux
  1. Spiegazione delle differenze tra editor di testo Vi e Vim

  2. Nozioni di base su Linux:una guida per principianti alla modifica del testo con vim

  3. Editor di testo ViM 101 Guida

  4. Come installare Vim (vi) su Windows 10

  5. Tutorial vim con esempi di comandi

I primi cinque plugin di Vim per gli amministratori di sistema

Guida introduttiva a Nano Text Editor [Guida per principianti]

Come trovare e sostituire il testo in Vim

I 5 migliori editor di testo Linux

Lavorare con l'editor Vim (editor di testo)

Comandi di base nano (cheat sheet)