3 Luglio 2023

Differenze Tra Gli Editor di Testo Vi e Vim Spiegate

Vi VS VIM, le principali differenze tra i due editor di testo più famosi per Linux.

VIM Editor

Vi e Vim sono entrambi editor di testo disponibili su Linux. Vi, con le sue numerose implementazioni, è di gran lunga l’editor di testo più distribuito e utilizzato. Questo tutorial spiega in dettaglio le differenze tra gli editor Vi e Vim.

Vi è l’editor di testo universale UNIX e di sistemi UNIX Like come Linux, se sai come usare l’editor di testo Vi, puoi modificare qualsiasi file di testo su qualsiasi modalità e versione di Linux. Vim è semplicemente una versione migliorata di Vi, ma a differenza di Vi, Vim non è universale.

A seconda della tua distribuzione Linux, potrebbe essere o non essere installato di default. Ma iniziamo prima con un po’ di storia.

Una Breve Storia di Vi e Vim

Vi trae le sue origini dall’editor di riga di comando chiamato ed. Ed era l’originale editor di testo Unix. L’originale Vi fu sviluppato alla fine degli anni ’70 da Bill Joy, uno studente laureato all’Università della California a Berkeley.

In seguito, ha co-fondato Sun Microsystems e ha servito come Chief Scientist fino al 2003. Joy sviluppò inizialmente ex come un editor di linea migliorato che supportava un superset dei comandi ed. Successivamente sviluppò vi come un’interfaccia “visuale” per ex.

Vinod Khosla, Bill Joy, Andy Bechtolsheim, Scott McNealy Sun Microsystem
Vinod Khosla, Bill Joy, Andy Bechtolsheim, Scott McNealy a Sun Microsystem

Vim, acronimo di “Vi IMproved”, è un editor di testo che ha fatto la sua apparizione pubblica per la prima volta il 2 novembre 1991, grazie all’impegno e alla dedizione di Bram Moolenaar. La storia di Vim inizia quando Moolenaar acquista un computer Amiga e si ritrova a voler utilizzare l’editor di testo con cui aveva familiarizzato su Unix.

Tuttavia, non esisteva una versione di Vi per l’Amiga che rispondesse alle sue esigenze e aspettative. Di conseguenza, Moolenaar decise di prendere in mano la situazione, iniziando a lavorare sulla versione di Vi disponibile per l’Amiga e introducendo una serie di miglioramenti e aggiustamenti.

L’obiettivo iniziale di Moolenaar era semplicemente di imitare le funzionalità di Vi, l’editor di testo su cui si era basato. Tuttavia, con il passare del tempo e l’accumulo di esperienza, si rese conto che poteva fare di più: poteva non solo imitare Vi, ma migliorarlo.

Ed è proprio così che Vim ha iniziato ad evolversi, diventando più di una semplice imitazione. Moolenaar e la comunità che si era formata intorno al progetto hanno iniziato ad aggiungere nuove funzionalità, spingendo i limiti di ciò che era possibile fare con un editor di testo. Con la versione 1.22, Vim aveva superato Vi in termini di funzionalità, segnando un punto di svolta nel suo sviluppo.

In riconoscimento di questo progresso, il nome del progetto fu cambiato da “Vi IMitation” a “Vi IMproved”, sottolineando il passaggio da un semplice tentativo di imitazione a un vero e proprio miglioramento dell’originale. Da allora, Vim è rimasto un punto di riferimento nel campo degli editor di testo, apprezzato per la sua potenza, flessibilità e personalizzabilità.

Differenze Tra Vi e Vim

Vi è l’editor di testo standard. È l’editor di testo classico e più popolare della famiglia Linux che viene preinstallato nella maggior parte delle distribuzioni Linux.

Vim è un editor simile a vi ma è più avanzato e potente dell’originale Vi. Ha molte funzioni che Vi non ha, anche funzioni che non sono “avanzate”. Vediamo ora quali sono le principali differenze tra loro.

Undo e redo Illimitati

Una delle caratteristiche più apprezzate di Vim, che lo distingue dal suo predecessore Vi, è la sua funzione di annullamento multilivello o “undo illimitato”. Questa funzionalità offre un controllo molto più granulare sul processo di modifica del testo, permettendo di annullare non solo l’ultima modifica effettuata, ma un numero illimitato di modifiche precedenti.

Per esempio, immagina di cancellare accidentalmente una riga di testo, poi una seconda e infine una terza. In molti editor di testo, compreso Vi, potresti essere in grado di annullare solo l’ultima cancellazione. Tuttavia, Vim ti consente di annullare ciascuna di queste tre cancellazioni separatamente, restituendo il tuo file al suo stato originale. Questo ti dà una maggiore flessibilità e controllo, consentendoti di esplorare diverse modifiche e revisioni senza paura di perdere il tuo lavoro.

Inoltre, Vim fornisce anche la funzionalità di “redo”, che ti permette di ripristinare le modifiche che hai annullato, fornendo così un potente sistema di controllo delle versioni all’interno dell’editor stesso. Queste caratteristiche, assenti in Vi, rendono Vim uno strumento particolarmente efficace per l’editing di codice e di testo, dove le revisioni e le modifiche multiple sono comuni.

Evidenziazione della Sintassi

Indubbiamente, una delle caratteristiche distintive di Vim rispetto a Vi è la sua capacità di evidenziare la sintassi. Vim, infatti, può essere configurato per colorare differenti parti del buffer a seconda del tipo di file che si sta modificando. Questo rappresenta un considerevole vantaggio rispetto a Vi, in particolare per i programmatori che utilizzano Vim per scrivere o modificare il codice. L’evidenziazione della sintassi di Vim supporta una vasta gamma di linguaggi di programmazione e markup, tra cui C, C++, Java, Python, PHP, HTML, XML, JavaScript, CSS,Markdown e molti altri.

Operazioni GUI / Visuali

Vim è un software estremamente versatile: si comporta splendidamente in una console, ma può anche essere eseguito nativamente in molte interfacce grafiche. È stato progettato per essere utilizzato sia da un’interfaccia a riga di comando che come applicazione indipendente in un’interfaccia utente grafica. Tra le sue funzionalità, Vim utilizza widget GUI nativi per lo scorrimento e la divisione dei buffer e fornisce anche supporto per il mouse. Non solo, Vim è stato anche portato su sistemi Windows, ampliando ulteriormente la sua disponibilità e accessibilità. Per ulteriori dettagli, è possibile visitare il sito ufficiale di Vim (www.vim.org).

Configurazioni Portabili

Una delle caratteristiche distintive di Vim è la portabilità delle sue configurazioni. Questo significa che è possibile personalizzare Vim su un sistema e poi trasferire facilmente quelle personalizzazioni su un altro sistema semplicemente copiando i file di configurazione. Questa caratteristica è particolarmente utile per gli sviluppatori che lavorano su più sistemi o ambienti, in quanto permette di mantenere un’esperienza di editing coerente e personalizzata su diversi sistemi. In altre parole, Vim ti offre la possibilità di creare un ambiente di editing su misura per le tue esigenze e poi importare quelle stesse impostazioni su qualsiasi altro sistema Linux, assicurando così un’esperienza utente uniforme.

Vim supporta i plugin.

Una delle caratteristiche che rendono Vim particolarmente potente e versatile è il suo robusto supporto per i plugin. I plugin sono estensioni software che possono essere aggiunte a Vim per ampliare e personalizzare le sue funzionalità. Questi possono variare da semplici strumenti che aggiungono scorciatoie da tastiera a funzionalità più complesse, come l’aggiunta di un ambiente di sviluppo integrato completo.

La vera forza del sistema di plugin di Vim risiede nel fatto che permette a terzi di aggiungere nuove funzioni senza dover toccare il codice sorgente principale dell’editor. Questo significa che gli sviluppatori possono costruire e condividere le proprie soluzioni personalizzate, rendendo Vim incredibilmente adattabile a un’ampia varietà di usi. Quindi, con i plugin, Vim può essere facilmente esteso e personalizzato per adattarsi alle esigenze specifiche dell’utente, rendendolo un potente strumento per ogni tipo di lavoro di testo o di codice.

Modalità Inserimento Flessibile

Un altro aspetto che distingue Vim dal suo predecessore Vi è la sua flessibilità in modalità inserimento. Nell’editor Vi, una volta attivata la modalità inserimento (utilizzata per inserire o modificare testo), non è possibile navigare nel documento utilizzando i tasti freccia. Questo significa che per spostarsi all’interno del testo, è necessario prima uscire dalla modalità inserimento, un’operazione che può risultare scomoda e interrompere il flusso di lavoro.

Vim, al contrario, introduce una significativa miglioria in termini di usabilità consentendo la navigazione con i tasti freccia anche mentre si è in modalità inserimento. Questo offre agli utenti la possibilità di spostarsi liberamente nel documento mentre inseriscono o modificano testo, rendendo l’esperienza di editing molto più fluida e intuitiva. Questa caratteristica, insieme ad altre migliorie, rende Vim un editor di testo potente e versatile, adatto a soddisfare le esigenze dei programmatori moderni.

Conclusione

In conclusione, mentre Vi ha segnato l’inizio dell’era degli editor di testo nel mondo di Unix e Linux, Vim ha rappresentato un salto evolutivo, ampliando le funzionalità di base e introducendo una serie di innovazioni che hanno reso l’editing di testo e codice un’esperienza molto più flessibile e potente. Le caratteristiche distintive di Vim, come l’evidenziazione della sintassi, la navigazione in modalità inserimento, l’annullamento multilivello e il supporto per i plugin, lo hanno reso un preferito tra gli sviluppatori e gli amministratori di sistema.

Inoltre, la portabilità delle configurazioni e la disponibilità su diverse piattaforme, inclusi i sistemi Windows, hanno reso Vim un editor di testo veramente universale. Nonostante le sue radici in Vi, Vim ha superato l’originale in termini di funzionalità e adattabilità, diventando uno strumento indispensabile per molti professionisti dell’IT.

Ricordiamo però che, nonostante le differenze, tutto ciò che è disponibile in Vi è disponibile in Vim, rendendo quest’ultimo quasi un superset del primo. Il vantaggio principale di Vim risiede nelle sue funzionalità aggiuntive che danno all’utente un maggiore controllo, efficienza e personalizzazione. Se stai cercando un editor di testo potente, versatile e altamente personalizzabile, Vim potrebbe essere l’opzione giusta per te.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Facebook, Inc. detiene i diritti su Facebook®; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Questo sito non è affiliato, sponsorizzato, o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello Europeo da MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italia.

Torna in alto