{"id":3642,"date":"2026-07-18T17:25:36","date_gmt":"2026-07-18T15:25:36","guid":{"rendered":"https:\/\/rootmail.it\/courses\/lpic-1-exam-101-010-160-corso-completo-in-italiano\/lessons\/103-8-modificare-file-di-testo-di-base\/"},"modified":"2026-07-20T21:58:30","modified_gmt":"2026-07-20T19:58:30","slug":"103-8-modificare-file-di-testo-di-base","status":"publish","type":"lesson","link":"https:\/\/rootmail.it\/en\/courses\/lpic-1-exam-1-101-500-corso-completo-in-italiano\/lessons\/103-8-modificare-file-di-testo-di-base\/","title":{"rendered":"103.8 Modificare file di testo di base"},"content":{"rendered":"<h2>103.8 Modificare file di testo di base<\/h2>\n<p>La modifica dei file di testo \u00e8 una delle attivit\u00e0 pi\u00f9 frequenti nell&#8217;amministrazione di sistemi Linux. File di configurazione, script, log e documentazione vengono generalmente gestiti direttamente dalla riga di comando, soprattutto quando si lavora su server remoti privi di interfaccia grafica. Tra i numerosi editor disponibili, <strong>vi<\/strong> occupa un ruolo fondamentale: \u00e8 presente praticamente in tutte le distribuzioni Linux e Unix ed \u00e8 considerato uno standard per gli amministratori di sistema. Molte distribuzioni installano anche <strong>vim<\/strong> (Vi Improved), una versione pi\u00f9 evoluta e ricca di funzionalit\u00e0, mantenendo per\u00f2 la piena compatibilit\u00e0 con i comandi di <code>vi<\/code>. In questa lezione imparerai a utilizzare le funzionalit\u00e0 essenziali di <code>vi<\/code>\/<code>vim<\/code>, comprendendo le diverse modalit\u00e0 operative e i principali comandi per creare, modificare e salvare file di testo.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 fondamentale conoscere l&#8217;utilizzo di <code>vi<\/code>, le sue modalit\u00e0 operative e i principali comandi per inserire, modificare, salvare e uscire dall&#8217;editor.<\/p><\/blockquote>\n<hr \/>\n<h2>\ud83c\udfaf Obiettivi della lezione<\/h2>\n<p>Al termine di questa lezione sarai in grado di:<\/p>\n<ul>\n<li>comprendere il funzionamento dell&#8217;editor <code>vi<\/code>\/<code>vim<\/code>;<\/li>\n<li>distinguere le diverse modalit\u00e0 operative dell&#8217;editor;<\/li>\n<li>aprire, creare e modificare file di testo;<\/li>\n<li>salvare le modifiche e uscire correttamente dall&#8217;editor;<\/li>\n<li>eseguire le principali operazioni di editing richieste nell&#8217;esame LPIC-1.<\/li>\n<\/ul>\n<hr \/>\n<h2>Argomenti trattati<\/h2>\n<ul>\n<li>Introduzione a <code>vi<\/code> e <code>vim<\/code>.<\/li>\n<li>Modalit\u00e0 Normale, Inserimento e Comando.<\/li>\n<li>Movimento del cursore.<\/li>\n<li>Inserimento, modifica ed eliminazione del testo.<\/li>\n<li>Salvataggio e uscita dall&#8217;editor.<\/li>\n<li>Ricerca e sostituzione del testo.<\/li>\n<\/ul>\n<blockquote><p><strong>\u2328\ufe0f Provalo subito<\/strong><br \/>\nApri un terminale ed esegui il comando <code>vi prova.txt<\/code>. Durante la lezione imparerai a creare il file, inserire del testo, salvarlo e uscire correttamente dall&#8217;editor utilizzando esclusivamente la tastiera.<\/p><\/blockquote>\n<h2>103.8.1 Introduzione a <code>vi<\/code><\/h2>\n<p>L&#8217;editor <strong>vi<\/strong> \u00e8 uno degli strumenti pi\u00f9 importanti dell&#8217;ambiente Linux e Unix. A differenza degli editor grafici tradizionali, <code>vi<\/code> \u00e8 un <strong>editor modale<\/strong>, cio\u00e8 il comportamento della tastiera cambia in base alla modalit\u00e0 operativa attualmente attiva.<\/p>\n<p>Questa caratteristica rende <code>vi<\/code> estremamente potente ed efficiente, ma richiede di comprendere le diverse modalit\u00e0 prima di iniziare a modificare un file.<\/p>\n<p>Praticamente tutte le distribuzioni Linux includono una versione di <code>vi<\/code> o del suo successore <code>vim<\/code> (Vi Improved), motivo per cui ogni amministratore di sistema dovrebbe conoscerne almeno le funzionalit\u00e0 essenziali.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 fondamentale conoscere le tre modalit\u00e0 operative di <code>vi<\/code> e sapere come passare dall&#8217;una all&#8217;altra.<\/p><\/blockquote>\n<hr \/>\n<h3>Le modalit\u00e0 operative di <code>vi<\/code><\/h3>\n<p>L&#8217;editor <code>vi<\/code> utilizza tre modalit\u00e0 principali:<\/p>\n<ul>\n<li><strong>Modalit\u00e0 Comando (Command Mode o Normal Mode)<\/strong><\/li>\n<li><strong>Modalit\u00e0 Inserimento (Insert Mode)<\/strong><\/li>\n<li><strong>Modalit\u00e0 Ultima Riga (Last-line Mode o Command-line Mode)<\/strong><\/li>\n<\/ul>\n<p>Ogni modalit\u00e0 ha uno scopo specifico.<\/p>\n<hr \/>\n<h3>Modalit\u00e0 Comando (Command Mode)<\/h3>\n<p>Quando si apre un file con <code>vi<\/code>, l&#8217;editor si trova inizialmente nella <strong>Modalit\u00e0 Comando<\/strong>.<\/p>\n<p>In questa modalit\u00e0 \u00e8 possibile:<\/p>\n<ul>\n<li>spostare il cursore nel documento;<\/li>\n<li>eliminare testo;<\/li>\n<li>copiare e incollare righe;<\/li>\n<li>annullare modifiche;<\/li>\n<li>eseguire numerose operazioni di editing.<\/li>\n<\/ul>\n<p>Non \u00e8 invece possibile digitare direttamente nuovo testo.<\/p>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> Se premi un tasto e il testo non viene inserito nel documento, probabilmente ti trovi ancora nella Modalit\u00e0 Comando.<\/p><\/blockquote>\n<hr \/>\n<h3>Modalit\u00e0 Inserimento (Insert Mode)<\/h3>\n<p>Per iniziare a scrivere \u00e8 necessario passare alla <strong>Modalit\u00e0 Inserimento<\/strong>.<\/p>\n<p>Questa modalit\u00e0 permette di:<\/p>\n<ul>\n<li>inserire nuovo testo;<\/li>\n<li>modificare il contenuto del file;<\/li>\n<li>scrivere normalmente come in qualsiasi editor di testo.<\/li>\n<\/ul>\n<p>Per entrare nella Modalit\u00e0 Inserimento si utilizzano comandi come:<\/p>\n<pre><code>i\r\n<\/code><\/pre>\n<p>oppure:<\/p>\n<pre><code>a\r\n<\/code><\/pre>\n<p>Per tornare alla Modalit\u00e0 Comando \u00e8 sufficiente premere:<\/p>\n<pre><code>Esc\r\n<\/code><\/pre>\n<hr \/>\n<h3>Modalit\u00e0 Ultima Riga (Last-line Mode)<\/h3>\n<p>La <strong>Modalit\u00e0 Ultima Riga<\/strong> consente di eseguire comandi speciali digitandoli nella parte inferiore dello schermo.<\/p>\n<p>Per accedervi, dalla Modalit\u00e0 Comando, si preme:<\/p>\n<pre><code>:\r\n<\/code><\/pre>\n<p>Questa modalit\u00e0 viene utilizzata principalmente per:<\/p>\n<ul>\n<li>salvare il file;<\/li>\n<li>uscire dall&#8217;editor;<\/li>\n<li>salvare e uscire contemporaneamente;<\/li>\n<li>eseguire ricerche e sostituzioni avanzate.<\/li>\n<\/ul>\n<p>Alcuni esempi sono:<\/p>\n<pre><code>:w\r\n:wq\r\n:q\r\n:q!\r\n<\/code><\/pre>\n<p>Questi comandi verranno approfonditi nelle prossime sezioni.<\/p>\n<hr \/>\n<h3>Passare da una modalit\u00e0 all&#8217;altra<\/h3>\n<p>Il seguente schema riassume il funzionamento di <code>vi<\/code>:<\/p>\n<table>\n<thead>\n<tr>\n<th>Modalit\u00e0<\/th>\n<th>Come si entra<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Command Mode<\/td>\n<td>Apertura del file oppure <code>Esc<\/code><\/td>\n<td>Navigazione e modifica del testo.<\/td>\n<\/tr>\n<tr>\n<td>Insert Mode<\/td>\n<td><code>i<\/code>, <code>a<\/code>, <code>o<\/code>&#8230;<\/td>\n<td>Inserimento del testo.<\/td>\n<\/tr>\n<tr>\n<td>Last-line Mode<\/td>\n<td><code>:<\/code><\/td>\n<td>Salvataggio, uscita ed esecuzione di comandi.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>Perch\u00e9 <code>vi<\/code> utilizza modalit\u00e0 diverse?<\/h3>\n<p>L&#8217;approccio modale consente di eseguire operazioni di editing molto rapidamente senza ricorrere continuamente al mouse o a combinazioni di tasti complesse.<\/p>\n<p>Una volta acquisita familiarit\u00e0 con le modalit\u00e0 operative, <code>vi<\/code> diventa uno degli editor pi\u00f9 veloci ed efficienti disponibili nei sistemi Linux.<\/p>\n<hr \/>\n<h3>Best Practice<\/h3>\n<p>Se non sei sicuro della modalit\u00e0 in cui ti trovi, premi sempre <code>Esc<\/code>. Questo ti riporter\u00e0 alla Modalit\u00e0 Comando, dalla quale potrai eseguire qualsiasi altra operazione in modo sicuro.<\/p>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li><code>vi<\/code> \u00e8 un editor di testo <strong>modale<\/strong>.<\/li>\n<li>La <strong>Modalit\u00e0 Comando<\/strong> viene utilizzata per navigare e modificare il documento.<\/li>\n<li>La <strong>Modalit\u00e0 Inserimento<\/strong> consente di scrivere e modificare il testo.<\/li>\n<li>La <strong>Modalit\u00e0 Ultima Riga<\/strong> permette di eseguire comandi come salvataggio e uscita.<\/li>\n<li>Il tasto <code>Esc<\/code> consente di tornare rapidamente alla Modalit\u00e0 Comando.<\/li>\n<\/ul>\n<h2>103.8.2 Muoversi all&#8217;interno di un documento con <code>vi<\/code><\/h2>\n<p>Uno dei punti di forza di <code>vi<\/code> \u00e8 la possibilit\u00e0 di navigare rapidamente all&#8217;interno di un documento senza utilizzare il mouse. Nella <strong>Modalit\u00e0 Comando<\/strong> \u00e8 possibile spostare il cursore mediante appositi tasti dedicati e cercare rapidamente parole o espressioni nel testo.<\/p>\n<p>Sebbene le moderne versioni di <code>vim<\/code> supportino normalmente i tasti freccia, conoscere i comandi tradizionali di navigazione \u00e8 fondamentale sia per l&#8217;esame LPIC-1 sia perch\u00e9 potrebbero essere l&#8217;unica opzione disponibile in ambienti minimali o sistemi Unix.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante conoscere i comandi di movimento <code>h<\/code>, <code>j<\/code>, <code>k<\/code> e <code>l<\/code>, oltre ai comandi di ricerca <code>\/<\/code> e <code>?<\/code>.<\/p><\/blockquote>\n<hr \/>\n<h3>Spostare il cursore<\/h3>\n<p>Nella Modalit\u00e0 Comando \u00e8 possibile utilizzare i tasti:<\/p>\n<table>\n<thead>\n<tr>\n<th>Tasto<\/th>\n<th>Movimento<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>h<\/code><\/td>\n<td>Sposta il cursore a sinistra.<\/td>\n<\/tr>\n<tr>\n<td><code>j<\/code><\/td>\n<td>Sposta il cursore verso il basso.<\/td>\n<\/tr>\n<tr>\n<td><code>k<\/code><\/td>\n<td>Sposta il cursore verso l&#8217;alto.<\/td>\n<\/tr>\n<tr>\n<td><code>l<\/code><\/td>\n<td>Sposta il cursore a destra.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Nella maggior parte delle distribuzioni moderne \u00e8 possibile utilizzare anche i tasti freccia della tastiera, ma i comandi tradizionali rimangono pi\u00f9 rapidi ed efficienti.<\/p>\n<hr \/>\n<h3>Ricercare testo nel documento<\/h3>\n<p><code>vi<\/code> permette di cercare rapidamente parole o espressioni.<\/p>\n<p>Per effettuare una ricerca in avanti si utilizza:<\/p>\n<pre><code>\/testo_da_cercare\r\n<\/code><\/pre>\n<p>Ad esempio:<\/p>\n<pre><code>\/SearchTerm\r\n<\/code><\/pre>\n<p>Dopo aver premuto <strong>Invio<\/strong>, il cursore verr\u00e0 posizionato sulla prima occorrenza trovata successiva alla posizione corrente.<\/p>\n<hr \/>\n<h3>Ricercare all&#8217;indietro<\/h3>\n<p>Per effettuare una ricerca verso l&#8217;inizio del documento si utilizza:<\/p>\n<pre><code>?testo_da_cercare\r\n<\/code><\/pre>\n<p>Ad esempio:<\/p>\n<pre><code>?SearchTerm\r\n<\/code><\/pre>\n<p>La ricerca proceder\u00e0 in direzione opposta rispetto al comando <code>\/<\/code>.<\/p>\n<hr \/>\n<h3>Passare tra i risultati della ricerca<\/h3>\n<p>Dopo aver effettuato una ricerca \u00e8 possibile spostarsi tra le varie occorrenze utilizzando:<\/p>\n<table>\n<thead>\n<tr>\n<th>Tasto<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>n<\/code><\/td>\n<td>Passa all&#8217;occorrenza successiva nella direzione della ricerca.<\/td>\n<\/tr>\n<tr>\n<td><code>N<\/code><\/td>\n<td>Passa all&#8217;occorrenza precedente.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Questi due comandi rendono molto semplice navigare tra tutte le corrispondenze trovate.<\/p>\n<hr \/>\n<h3>Comandi di navigazione principali<\/h3>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Descrizione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>h<\/code><\/td>\n<td>Sposta il cursore a sinistra.<\/td>\n<\/tr>\n<tr>\n<td><code>j<\/code><\/td>\n<td>Sposta il cursore verso il basso.<\/td>\n<\/tr>\n<tr>\n<td><code>k<\/code><\/td>\n<td>Sposta il cursore verso l&#8217;alto.<\/td>\n<\/tr>\n<tr>\n<td><code>l<\/code><\/td>\n<td>Sposta il cursore a destra.<\/td>\n<\/tr>\n<tr>\n<td><code>\/testo<\/code><\/td>\n<td>Ricerca in avanti.<\/td>\n<\/tr>\n<tr>\n<td><code>?testo<\/code><\/td>\n<td>Ricerca all&#8217;indietro.<\/td>\n<\/tr>\n<tr>\n<td><code>n<\/code><\/td>\n<td>Occorrenza successiva.<\/td>\n<\/tr>\n<tr>\n<td><code>N<\/code><\/td>\n<td>Occorrenza precedente.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> I comandi di navigazione funzionano esclusivamente nella <strong>Modalit\u00e0 Comando<\/strong>. Se ti trovi nella Modalit\u00e0 Inserimento, premi prima <code>Esc<\/code> per tornare alla modalit\u00e0 corretta.<\/p><\/blockquote>\n<hr \/>\n<h3>Best Practice<\/h3>\n<p>Abituati fin da subito a utilizzare i tasti <code>h<\/code>, <code>j<\/code>, <code>k<\/code> e <code>l<\/code> invece delle frecce direzionali. Sono pi\u00f9 veloci, non richiedono di spostare le mani dalla tastiera e rappresentano il metodo tradizionale di navigazione in <code>vi<\/code> e <code>vim<\/code>.<\/p>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li>I tasti <code>h<\/code>, <code>j<\/code>, <code>k<\/code> e <code>l<\/code> permettono di spostare il cursore nella Modalit\u00e0 Comando.<\/li>\n<li>Il comando <code>\/<\/code> esegue una ricerca in avanti.<\/li>\n<li>Il comando <code>?<\/code> esegue una ricerca all&#8217;indietro.<\/li>\n<li>I tasti <code>n<\/code> e <code>N<\/code> consentono di scorrere le occorrenze trovate.<\/li>\n<li>Le moderne versioni di <code>vim<\/code> supportano anche i tasti freccia, ma i comandi tradizionali sono quelli richiesti dall&#8217;esame LPIC-1.<\/li>\n<\/ul>\n<h2>103.8.3 Utilizzare le modalit\u00e0 operative di <code>vi<\/code><\/h2>\n<p>Uno degli aspetti pi\u00f9 caratteristici di <code>vi<\/code> \u00e8 il passaggio continuo tra le diverse modalit\u00e0 operative. Per modificare un documento \u00e8 necessario sapere come entrare nella <strong>Modalit\u00e0 Inserimento<\/strong>, come tornare alla <strong>Modalit\u00e0 Comando<\/strong> e come utilizzare la <strong>Modalit\u00e0 Ultima Riga<\/strong> per eseguire operazioni come il salvataggio del file o l&#8217;uscita dall&#8217;editor.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 fondamentale ricordare i comandi <code>i<\/code>, <code>a<\/code>, <code>o<\/code>, il tasto <code>Esc<\/code> e il carattere <code>:<\/code>, che consentono di passare rapidamente tra le diverse modalit\u00e0 di <code>vi<\/code>.<\/p><\/blockquote>\n<hr \/>\n<h3>Entrare nella Modalit\u00e0 Inserimento<\/h3>\n<p>Dalla Modalit\u00e0 Comando \u00e8 possibile iniziare a modificare il testo utilizzando diversi comandi.<\/p>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>i<\/code><\/td>\n<td>Inserisce il testo prima della posizione corrente del cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>a<\/code><\/td>\n<td>Inserisce il testo dopo il cursore (append).<\/td>\n<\/tr>\n<tr>\n<td><code>o<\/code><\/td>\n<td>Crea una nuova riga sotto quella corrente ed entra nella Modalit\u00e0 Inserimento.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Ad esempio:<\/p>\n<pre><code>i\r\n<\/code><\/pre>\n<p>permette di iniziare a digitare nel punto in cui si trova il cursore.<\/p>\n<p>Il comando:<\/p>\n<pre><code>a\r\n<\/code><\/pre>\n<p>inizia invece a scrivere subito dopo il carattere corrente.<\/p>\n<p>Infine:<\/p>\n<pre><code>o\r\n<\/code><\/pre>\n<p>crea automaticamente una nuova riga sotto quella corrente e posiziona il cursore all&#8217;inizio della nuova riga.<\/p>\n<hr \/>\n<h3>Tornare alla Modalit\u00e0 Comando<\/h3>\n<p>Per terminare l&#8217;inserimento del testo e tornare alla Modalit\u00e0 Comando \u00e8 sufficiente premere:<\/p>\n<pre><code>Esc\r\n<\/code><\/pre>\n<p>Questa \u00e8 probabilmente la combinazione di tasti pi\u00f9 utilizzata durante il lavoro con <code>vi<\/code>.<\/p>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> Se non sei sicuro della modalit\u00e0 in cui ti trovi, premi sempre <code>Esc<\/code>. Non produce effetti indesiderati e ti riporta alla Modalit\u00e0 Comando.<\/p><\/blockquote>\n<hr \/>\n<h3>Accedere alla Modalit\u00e0 Ultima Riga<\/h3>\n<p>Dalla Modalit\u00e0 Comando \u00e8 possibile accedere alla Modalit\u00e0 Ultima Riga premendo:<\/p>\n<pre><code>:\r\n<\/code><\/pre>\n<p>In questa modalit\u00e0 \u00e8 possibile digitare comandi come:<\/p>\n<pre><code>:w\r\n:q\r\n:wq\r\n:q!\r\n<\/code><\/pre>\n<p>che consentono rispettivamente di:<\/p>\n<ul>\n<li>salvare il file;<\/li>\n<li>uscire dall&#8217;editor;<\/li>\n<li>salvare e uscire;<\/li>\n<li>uscire senza salvare le modifiche.<\/li>\n<\/ul>\n<p>Questi comandi verranno approfonditi nelle prossime sezioni.<\/p>\n<hr \/>\n<h3>Sequenza tipica di lavoro<\/h3>\n<p>Una normale sessione di editing con <code>vi<\/code> segue generalmente questi passaggi:<\/p>\n<ol>\n<li>aprire il file;<\/li>\n<li>premere <code>i<\/code>, <code>a<\/code> oppure <code>o<\/code> per iniziare a modificare il testo;<\/li>\n<li>premere <code>Esc<\/code> per tornare alla Modalit\u00e0 Comando;<\/li>\n<li>digitare <code>:wq<\/code> per salvare il file e uscire.<\/li>\n<\/ol>\n<p>Ad esempio:<\/p>\n<pre><code>vi prova.txt\r\ni\r\n...scrivi il testo...\r\nEsc\r\n:wq\r\n<\/code><\/pre>\n<hr \/>\n<h3>Riepilogo delle modalit\u00e0<\/h3>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Effetto<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>i<\/code><\/td>\n<td>Inserisce testo prima del cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>a<\/code><\/td>\n<td>Inserisce testo dopo il cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>o<\/code><\/td>\n<td>Crea una nuova riga e passa alla Modalit\u00e0 Inserimento.<\/td>\n<\/tr>\n<tr>\n<td><code>Esc<\/code><\/td>\n<td>Ritorna alla Modalit\u00e0 Comando.<\/td>\n<\/tr>\n<tr>\n<td><code>:<\/code><\/td>\n<td>Accede alla Modalit\u00e0 Ultima Riga.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>Best Practice<\/h3>\n<p>Durante l&#8217;apprendimento di <code>vi<\/code>, acquisisci l&#8217;abitudine di premere <code>Esc<\/code> prima di eseguire qualsiasi comando. In questo modo avrai sempre la certezza di trovarti nella Modalit\u00e0 Comando, evitando errori dovuti al cambio involontario di modalit\u00e0.<\/p>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li><code>i<\/code>, <code>a<\/code> e <code>o<\/code> permettono di entrare nella Modalit\u00e0 Inserimento.<\/li>\n<li><code>Esc<\/code> riporta sempre alla Modalit\u00e0 Comando.<\/li>\n<li>Il carattere <code>:<\/code> apre la Modalit\u00e0 Ultima Riga.<\/li>\n<li>La Modalit\u00e0 Ultima Riga consente di eseguire operazioni come salvataggio e uscita.<\/li>\n<li>Il passaggio tra le modalit\u00e0 rappresenta il principio fondamentale del funzionamento di <code>vi<\/code>.<\/li>\n<\/ul>\n<h2>103.8.4 Modificare, salvare e uscire da <code>vi<\/code><\/h2>\n<p>Una volta entrati nella <strong>Modalit\u00e0 Inserimento<\/strong>, \u00e8 possibile scrivere normalmente all&#8217;interno del documento. Tornando alla <strong>Modalit\u00e0 Comando<\/strong>, <code>vi<\/code> mette a disposizione numerosi comandi per modificare rapidamente il testo senza utilizzare il mouse.<\/p>\n<p>Le operazioni pi\u00f9 comuni comprendono l&#8217;inserimento, l&#8217;eliminazione, la copia, l&#8217;incolla, il salvataggio del file e l&#8217;uscita dall&#8217;editor.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante conoscere i comandi <code>i<\/code>, <code>a<\/code>, <code>o<\/code>, <code>dd<\/code>, <code>dw<\/code>, <code>yy<\/code>, <code>p<\/code>, <code>:w<\/code>, <code>:q!<\/code>, <code>:wq<\/code>, <code>:x<\/code> e <code>ZZ<\/code>.<\/p><\/blockquote>\n<hr \/>\n<h3>Inserire testo<\/h3>\n<p>Per iniziare a modificare il documento si utilizzano i seguenti comandi:<\/p>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>i<\/code><\/td>\n<td>Inserisce il testo prima del cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>a<\/code><\/td>\n<td>Inserisce il testo dopo il cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>o<\/code><\/td>\n<td>Crea una nuova riga sotto quella corrente ed entra nella Modalit\u00e0 Inserimento.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Al termine dell&#8217;inserimento del testo premi:<\/p>\n<pre><code>Esc\r\n<\/code><\/pre>\n<p>per tornare alla Modalit\u00e0 Comando.<\/p>\n<hr \/>\n<h3>Eliminare testo<\/h3>\n<p>Per eliminare parti del documento sono disponibili diversi comandi.<\/p>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>dw<\/code><\/td>\n<td>Elimina una parola.<\/td>\n<\/tr>\n<tr>\n<td><code>d$<\/code><\/td>\n<td>Elimina dal cursore fino alla fine della riga.<\/td>\n<\/tr>\n<tr>\n<td><code>d0<\/code><\/td>\n<td>Elimina dal cursore fino all&#8217;inizio della riga.<\/td>\n<\/tr>\n<tr>\n<td><code>dd<\/code><\/td>\n<td>Elimina l&#8217;intera riga.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Il comando <code>d<\/code> \u00e8 un operatore che viene combinato con i movimenti del cursore per eliminare porzioni differenti di testo.<\/p>\n<hr \/>\n<h3>Copiare e incollare<\/h3>\n<p>Per copiare la riga corrente si utilizza:<\/p>\n<pre><code>yy\r\n<\/code><\/pre>\n<p>Per copiare una parola:<\/p>\n<pre><code>yw\r\n<\/code><\/pre>\n<p>Per incollare il testo copiato o eliminato:<\/p>\n<pre><code>p\r\n<\/code><\/pre>\n<p>Il comando <code>p<\/code> incolla il contenuto degli appunti interni di <code>vi<\/code> dopo la posizione corrente del cursore.<\/p>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> Anche il testo eliminato con <code>dd<\/code> o <code>dw<\/code> viene automaticamente memorizzato negli appunti interni e pu\u00f2 essere incollato con <code>p<\/code>.<\/p><\/blockquote>\n<hr \/>\n<h3>Salvare il documento<\/h3>\n<p>Per salvare il file senza uscire dall&#8217;editor si utilizza:<\/p>\n<pre><code>:w\r\n<\/code><\/pre>\n<p>Il file viene scritto sul disco e la sessione di editing continua.<\/p>\n<hr \/>\n<h3>Salvare ed uscire<\/h3>\n<p>Per salvare le modifiche e chiudere l&#8217;editor sono disponibili diversi comandi equivalenti.<\/p>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>:wq<\/code><\/td>\n<td>Salva il file ed esce.<\/td>\n<\/tr>\n<tr>\n<td><code>:x<\/code><\/td>\n<td>Salva il file solo se modificato, quindi esce.<\/td>\n<\/tr>\n<tr>\n<td><code>ZZ<\/code><\/td>\n<td>Salva (se necessario) ed esce dalla Modalit\u00e0 Comando.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Nella pratica quotidiana vengono utilizzati soprattutto <code>:wq<\/code> e <code>:x<\/code>.<\/p>\n<hr \/>\n<h3>Uscire senza salvare<\/h3>\n<p>Se si desidera abbandonare il documento ignorando tutte le modifiche effettuate, utilizzare:<\/p>\n<pre><code>:q!\r\n<\/code><\/pre>\n<p>Questo comando chiude immediatamente l&#8217;editor senza salvare il file.<\/p>\n<hr \/>\n<h3>Esempio completo<\/h3>\n<p>Una tipica sessione di lavoro potrebbe essere:<\/p>\n<pre><code>vi documento.txt\r\ni\r\n...scrivi il testo...\r\nEsc\r\nyy\r\np\r\n:w\r\n:q\r\n<\/code><\/pre>\n<p>oppure, pi\u00f9 semplicemente:<\/p>\n<pre><code>vi documento.txt\r\ni\r\n...scrivi il testo...\r\nEsc\r\n:wq\r\n<\/code><\/pre>\n<hr \/>\n<h3>Comandi fondamentali di <code>vi<\/code><\/h3>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Descrizione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>i<\/code><\/td>\n<td>Inserisce testo prima del cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>a<\/code><\/td>\n<td>Inserisce testo dopo il cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>o<\/code><\/td>\n<td>Crea una nuova riga.<\/td>\n<\/tr>\n<tr>\n<td><code>dw<\/code><\/td>\n<td>Elimina una parola.<\/td>\n<\/tr>\n<tr>\n<td><code>dd<\/code><\/td>\n<td>Elimina una riga.<\/td>\n<\/tr>\n<tr>\n<td><code>yy<\/code><\/td>\n<td>Copia una riga.<\/td>\n<\/tr>\n<tr>\n<td><code>p<\/code><\/td>\n<td>Incolla il testo copiato o eliminato.<\/td>\n<\/tr>\n<tr>\n<td><code>:w<\/code><\/td>\n<td>Salva il file.<\/td>\n<\/tr>\n<tr>\n<td><code>:wq<\/code><\/td>\n<td>Salva ed esce.<\/td>\n<\/tr>\n<tr>\n<td><code>:x<\/code><\/td>\n<td>Salva (se modificato) ed esce.<\/td>\n<\/tr>\n<tr>\n<td><code>ZZ<\/code><\/td>\n<td>Salva (se modificato) ed esce.<\/td>\n<\/tr>\n<tr>\n<td><code>:q!<\/code><\/td>\n<td>Esce senza salvare.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>Best Practice<\/h3>\n<p>Durante l&#8217;amministrazione di sistemi Linux \u00e8 consigliabile salvare frequentemente il proprio lavoro utilizzando <code>:w<\/code>. Prima di uscire dall&#8217;editor, verifica sempre di aver salvato le modifiche desiderate per evitare la perdita accidentale dei dati.<\/p>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li><code>i<\/code>, <code>a<\/code> e <code>o<\/code> permettono di inserire nuovo testo.<\/li>\n<li><code>dd<\/code> elimina una riga, mentre <code>dw<\/code> elimina una parola.<\/li>\n<li><code>yy<\/code> copia una riga e <code>p<\/code> la incolla.<\/li>\n<li><code>:w<\/code> salva il documento senza uscire.<\/li>\n<li><code>:wq<\/code>, <code>:x<\/code> e <code>ZZ<\/code> salvano il file ed escono dall&#8217;editor.<\/li>\n<li><code>:q!<\/code> chiude l&#8217;editor senza salvare le modifiche.<\/li>\n<\/ul>\n<h2>103.8.5 Altri editor di testo in Linux<\/h2>\n<p>Sebbene <code>vi<\/code> rappresenti l&#8217;editor di riferimento per l&#8217;amministrazione dei sistemi Linux e sia quello richiesto dall&#8217;esame LPIC-1, esistono numerosi altri editor di testo, ciascuno progettato per esigenze differenti.<\/p>\n<p>Alcuni privilegiano semplicit\u00e0 e immediatezza, mentre altri offrono funzionalit\u00e0 avanzate per lo sviluppo software e la gestione di progetti complessi.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 sufficiente conoscere le caratteristiche generali di <code>nano<\/code>, <code>vim<\/code> ed <code>Emacs<\/code>, senza approfondirne l&#8217;utilizzo.<\/p><\/blockquote>\n<hr \/>\n<h3><code>nano<\/code><\/h3>\n<p><code>nano<\/code> \u00e8 un editor di testo semplice e intuitivo, molto apprezzato dai principianti.<\/p>\n<p>Per aprire o creare un file \u00e8 sufficiente eseguire:<\/p>\n<pre><code>nano file.txt\r\n<\/code><\/pre>\n<p>Le principali caratteristiche sono:<\/p>\n<ul>\n<li>interfaccia semplice e immediata;<\/li>\n<li>comandi sempre visibili nella parte inferiore dello schermo;<\/li>\n<li>non utilizza modalit\u00e0 operative come <code>vi<\/code>;<\/li>\n<li>ideale per modifiche rapide ai file di configurazione.<\/li>\n<\/ul>\n<p>\u00c8 spesso installato di default nelle principali distribuzioni Linux.<\/p>\n<hr \/>\n<h3><code>vim<\/code><\/h3>\n<p><code>vim<\/code> (<strong>Vi Improved<\/strong>) \u00e8 la naturale evoluzione dell&#8217;editor <code>vi<\/code>.<\/p>\n<p>Mantiene la piena compatibilit\u00e0 con tutti i comandi di <code>vi<\/code>, aggiungendo numerose funzionalit\u00e0, tra cui:<\/p>\n<ul>\n<li>evidenziazione della sintassi (<em>syntax highlighting<\/em>);<\/li>\n<li>completamento automatico del testo;<\/li>\n<li>annullamento multilivello (<em>multi-level undo<\/em>);<\/li>\n<li>gestione avanzata di plugin ed estensioni.<\/li>\n<\/ul>\n<p>Nella maggior parte delle distribuzioni Linux moderne, quando si esegue il comando <code>vi<\/code>, viene in realt\u00e0 avviato <code>vim<\/code> (oppure una versione compatibile, come <code>vim-tiny<\/code> o <code>vim-minimal<\/code>).<\/p>\n<hr \/>\n<h3><code>Emacs<\/code><\/h3>\n<p><code>Emacs<\/code> \u00e8 uno degli editor di testo pi\u00f9 potenti e completi disponibili per Linux.<\/p>\n<p>Per avviarlo:<\/p>\n<pre><code>emacs file.txt\r\n<\/code><\/pre>\n<p>Le sue principali caratteristiche sono:<\/p>\n<ul>\n<li>elevata possibilit\u00e0 di personalizzazione;<\/li>\n<li>supporto a numerosi linguaggi di programmazione;<\/li>\n<li>integrazione con strumenti di sviluppo e debugging;<\/li>\n<li>curva di apprendimento pi\u00f9 impegnativa rispetto a <code>nano<\/code> e <code>vi<\/code>.<\/li>\n<\/ul>\n<p>Molti sviluppatori lo utilizzano come un vero e proprio ambiente di sviluppo integrato (IDE).<\/p>\n<hr \/>\n<h3>Confronto tra gli editor<\/h3>\n<table>\n<thead>\n<tr>\n<th>Editor<\/th>\n<th>Caratteristiche principali<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>vi<\/code><\/td>\n<td>Editor modale, presente praticamente su tutti i sistemi Linux e Unix.<\/td>\n<\/tr>\n<tr>\n<td><code>vim<\/code><\/td>\n<td>Versione avanzata di <code>vi<\/code>, compatibile con tutti i suoi comandi.<\/td>\n<\/tr>\n<tr>\n<td><code>nano<\/code><\/td>\n<td>Editor semplice e intuitivo, ideale per i principianti.<\/td>\n<\/tr>\n<tr>\n<td><code>Emacs<\/code><\/td>\n<td>Editor estremamente potente e altamente personalizzabile.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> Per l&#8217;amministrazione dei server Linux \u00e8 fondamentale conoscere almeno <code>vi<\/code> o <code>vim<\/code>, poich\u00e9 sono quasi sempre disponibili anche nei sistemi pi\u00f9 minimali. <code>nano<\/code> ed <code>Emacs<\/code> potrebbero invece non essere installati.<\/p><\/blockquote>\n<hr \/>\n<h3>Best Practice<\/h3>\n<p>Anche se preferisci utilizzare <code>nano<\/code> o <code>Emacs<\/code> nel lavoro quotidiano, impara a utilizzare almeno i comandi fondamentali di <code>vi<\/code>. In molte situazioni di emergenza o su server minimali sar\u00e0 l&#8217;unico editor disponibile.<\/p>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li><code>vi<\/code> \u00e8 l&#8217;editor standard presente praticamente su tutti i sistemi Linux.<\/li>\n<li><code>vim<\/code> \u00e8 una versione evoluta e compatibile di <code>vi<\/code>.<\/li>\n<li><code>nano<\/code> \u00e8 semplice da utilizzare e adatto ai principianti.<\/li>\n<li><code>Emacs<\/code> offre funzionalit\u00e0 avanzate e un&#8217;elevata possibilit\u00e0 di personalizzazione.<\/li>\n<li>Per l&#8217;esame LPIC-1 \u00e8 essenziale conoscere soprattutto <code>vi<\/code> e le differenze generali rispetto agli altri editor.<\/li>\n<\/ul>\n<h2>103.8.6 Configurare l&#8217;editor predefinito<\/h2>\n<p>Molti programmi Linux che devono aprire un file di testo non utilizzano un editor specifico, ma fanno riferimento alle variabili d&#8217;ambiente <code>EDITOR<\/code> o <code>VISUAL<\/code>. Configurando queste variabili \u00e8 possibile scegliere quale editor verr\u00e0 avviato automaticamente.<\/p>\n<p>Questa impostazione \u00e8 particolarmente utile per strumenti come <code>crontab<\/code>, <code>git<\/code>, alcuni client di posta elettronica e numerose utility di amministrazione.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante conoscere la variabile d&#8217;ambiente <code>EDITOR<\/code> e sapere come impostarla in modo temporaneo o permanente.<\/p><\/blockquote>\n<hr \/>\n<h3>Impostare l&#8217;editor per la sessione corrente<\/h3>\n<p>Per utilizzare <code>vi<\/code> come editor predefinito nella sessione corrente \u00e8 sufficiente eseguire:<\/p>\n<pre><code>export EDITOR=vi\r\n<\/code><\/pre>\n<p>Da questo momento tutti i programmi che consultano la variabile <code>EDITOR<\/code> utilizzeranno <code>vi<\/code>.<\/p>\n<p>Per verificare il valore della variabile:<\/p>\n<pre><code>echo $EDITOR\r\n<\/code><\/pre>\n<p>L&#8217;output sar\u00e0 simile a:<\/p>\n<pre><code>vi\r\n<\/code><\/pre>\n<hr \/>\n<h3>Rendere permanente la configurazione<\/h3>\n<p>Per mantenere questa impostazione anche dopo il logout \u00e8 necessario aggiungere la variabile a uno dei file di configurazione della shell, ad esempio:<\/p>\n<pre><code>~\/.bashrc\r\n<\/code><\/pre>\n<p>oppure:<\/p>\n<pre><code>~\/.bash_profile\r\n<\/code><\/pre>\n<p>Aggiungendo la seguente riga:<\/p>\n<pre><code>export EDITOR=vi\r\n<\/code><\/pre>\n<p>Dopo aver salvato il file \u00e8 possibile applicare immediatamente la modifica eseguendo:<\/p>\n<pre><code>source ~\/.bashrc\r\n<\/code><\/pre>\n<p>oppure effettuando un nuovo login.<\/p>\n<hr \/>\n<h3>La variabile <code>VISUAL<\/code><\/h3>\n<p>Molte applicazioni consultano prima la variabile:<\/p>\n<pre><code>VISUAL\r\n<\/code><\/pre>\n<p>e solo successivamente <code>EDITOR<\/code>.<\/p>\n<p>Per questo motivo \u00e8 comune configurarle entrambe:<\/p>\n<pre><code>export VISUAL=vi\r\nexport EDITOR=vi\r\n<\/code><\/pre>\n<p>In questo modo si garantisce un comportamento coerente nella maggior parte dei programmi.<\/p>\n<hr \/>\n<h3>Editor alternativi<\/h3>\n<p>\u00c8 possibile configurare qualsiasi editor installato sul sistema.<\/p>\n<p>Ad esempio:<\/p>\n<pre><code>export EDITOR=vim\r\n<\/code><\/pre>\n<p>oppure:<\/p>\n<pre><code>export EDITOR=nano\r\n<\/code><\/pre>\n<p>La scelta dipende dalle preferenze dell&#8217;utente e dagli editor disponibili nel sistema.<\/p>\n<hr \/>\n<h3>Quando viene utilizzata la variabile <code>EDITOR<\/code>?<\/h3>\n<p>Molti programmi Linux aprono automaticamente l&#8217;editor definito nella variabile <code>EDITOR<\/code>.<\/p>\n<p>Alcuni esempi sono:<\/p>\n<ul>\n<li><code>crontab -e<\/code>;<\/li>\n<li>Git durante la modifica dei messaggi di commit;<\/li>\n<li>alcuni client di posta elettronica;<\/li>\n<li>diversi strumenti di amministrazione dei sistemi Unix\/Linux.<\/li>\n<\/ul>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> La variabile <code>EDITOR<\/code> definisce l&#8217;editor predefinito per numerosi programmi. Se non \u00e8 configurata, ciascuna applicazione utilizzer\u00e0 il proprio editor predefinito oppure quello previsto dalla distribuzione.<\/p><\/blockquote>\n<hr \/>\n<h3>Best Practice<\/h3>\n<p>Se utilizzi frequentemente la riga di comando, configura sia <code>EDITOR<\/code> sia <code>VISUAL<\/code> con l&#8217;editor che conosci meglio. In ambito professionale \u00e8 consigliabile impostare <code>vi<\/code> o <code>vim<\/code>, poich\u00e9 sono disponibili praticamente su qualsiasi sistema Linux.<\/p>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li>La variabile <code>EDITOR<\/code> definisce l&#8217;editor di testo predefinito.<\/li>\n<li>Pu\u00f2 essere impostata temporaneamente mediante <code>export EDITOR=vi<\/code>.<\/li>\n<li>Per renderla permanente \u00e8 sufficiente aggiungerla a <code>~\/.bashrc<\/code> o <code>~\/.bash_profile<\/code>.<\/li>\n<li>Molte applicazioni utilizzano anche la variabile <code>VISUAL<\/code>.<\/li>\n<li>Configurare correttamente queste variabili rende uniforme il comportamento degli strumenti della riga di comando.<\/li>\n<\/ul>\n<h2>\ud83d\udcda Riepilogo della lezione<\/h2>\n<p>In questa lezione hai imparato a utilizzare <strong>vi<\/strong>, l&#8217;editor di testo standard dei sistemi Linux e Unix. Hai scoperto il funzionamento delle sue modalit\u00e0 operative, come muoverti all&#8217;interno di un documento, modificare il testo, salvare le modifiche e configurare l&#8217;editor predefinito del sistema.<\/p>\n<p>Hai inoltre conosciuto altri editor molto diffusi, come <code>vim<\/code>, <code>nano<\/code> ed <code>Emacs<\/code>, comprendendone le principali differenze e gli scenari di utilizzo.<\/p>\n<h3>Concetti principali<\/h3>\n<ul>\n<li>Hai compreso che <code>vi<\/code> \u00e8 un editor di testo <strong>modale<\/strong>.<\/li>\n<li>Hai imparato a utilizzare la <strong>Modalit\u00e0 Comando<\/strong>, la <strong>Modalit\u00e0 Inserimento<\/strong> e la <strong>Modalit\u00e0 Ultima Riga<\/strong>.<\/li>\n<li>Hai utilizzato i principali comandi di navigazione (<code>h<\/code>, <code>j<\/code>, <code>k<\/code>, <code>l<\/code>) e di ricerca (<code>\/<\/code> e <code>?<\/code>).<\/li>\n<li>Hai imparato a inserire, eliminare, copiare e incollare testo utilizzando i comandi fondamentali di <code>vi<\/code>.<\/li>\n<li>Hai scoperto come salvare un file, uscire dall&#8217;editor o abbandonare le modifiche.<\/li>\n<li>Hai configurato l&#8217;editor predefinito mediante la variabile d&#8217;ambiente <code>EDITOR<\/code>.<\/li>\n<li>Hai conosciuto le caratteristiche principali degli editor <code>vim<\/code>, <code>nano<\/code> ed <code>Emacs<\/code>.<\/li>\n<\/ul>\n<blockquote><p><strong>\ud83c\udfaf Obiettivo raggiunto<\/strong> Al termine di questa lezione sei in grado di utilizzare <code>vi<\/code> per creare e modificare file di testo direttamente dalla riga di comando, una competenza indispensabile per qualsiasi amministratore Linux.<\/p><\/blockquote>\n<h3>Comandi fondamentali di <code>vi<\/code><\/h3>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Descrizione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>i<\/code><\/td>\n<td>Inserisce testo prima del cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>a<\/code><\/td>\n<td>Inserisce testo dopo il cursore.<\/td>\n<\/tr>\n<tr>\n<td><code>o<\/code><\/td>\n<td>Crea una nuova riga.<\/td>\n<\/tr>\n<tr>\n<td><code>Esc<\/code><\/td>\n<td>Torna alla Modalit\u00e0 Comando.<\/td>\n<\/tr>\n<tr>\n<td><code>h<\/code>, <code>j<\/code>, <code>k<\/code>, <code>l<\/code><\/td>\n<td>Spostano il cursore nel documento.<\/td>\n<\/tr>\n<tr>\n<td><code>\/<\/code>, <code>?<\/code><\/td>\n<td>Ricercano testo nel documento.<\/td>\n<\/tr>\n<tr>\n<td><code>n<\/code>, <code>N<\/code><\/td>\n<td>Passano all&#8217;occorrenza successiva o precedente.<\/td>\n<\/tr>\n<tr>\n<td><code>dw<\/code><\/td>\n<td>Elimina una parola.<\/td>\n<\/tr>\n<tr>\n<td><code>dd<\/code><\/td>\n<td>Elimina una riga.<\/td>\n<\/tr>\n<tr>\n<td><code>yy<\/code><\/td>\n<td>Copia una riga.<\/td>\n<\/tr>\n<tr>\n<td><code>p<\/code><\/td>\n<td>Incolla il testo copiato o eliminato.<\/td>\n<\/tr>\n<tr>\n<td><code>:w<\/code><\/td>\n<td>Salva il file.<\/td>\n<\/tr>\n<tr>\n<td><code>:wq<\/code><\/td>\n<td>Salva ed esce.<\/td>\n<\/tr>\n<tr>\n<td><code>:x<\/code><\/td>\n<td>Salva (se modificato) ed esce.<\/td>\n<\/tr>\n<tr>\n<td><code>ZZ<\/code><\/td>\n<td>Salva (se necessario) ed esce.<\/td>\n<\/tr>\n<tr>\n<td><code>:q!<\/code><\/td>\n<td>Esce senza salvare.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Editor di testo pi\u00f9 comuni<\/h3>\n<table>\n<thead>\n<tr>\n<th>Editor<\/th>\n<th>Caratteristiche<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>vi<\/code><\/td>\n<td>Editor standard disponibile praticamente su tutti i sistemi Unix\/Linux.<\/td>\n<\/tr>\n<tr>\n<td><code>vim<\/code><\/td>\n<td>Versione avanzata e compatibile di <code>vi<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><code>nano<\/code><\/td>\n<td>Editor semplice e intuitivo, ideale per i principianti.<\/td>\n<\/tr>\n<tr>\n<td><code>Emacs<\/code><\/td>\n<td>Editor altamente personalizzabile e ricco di funzionalit\u00e0 avanzate.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\ud83d\udca1 Preparazione all&#8217;esame LPIC-1<\/strong> Prima di proseguire assicurati di saper utilizzare <code>vi<\/code> senza difficolt\u00e0: entrare e uscire dalle diverse modalit\u00e0, modificare un file, salvare le modifiche, uscire senza salvare e utilizzare i principali comandi di navigazione. L&#8217;uso di <code>vi<\/code> \u00e8 uno degli argomenti pi\u00f9 frequenti dell&#8217;esame LPIC-1.<\/p><\/blockquote>\n<hr \/>\n<h2>\u27a1\ufe0f Prossimo argomento<\/h2>\n<p>Nel prossimo capitolo (<strong>104 Dispositivi, filesystem Linux e Filesystem Hierarchy Standard<\/strong>) approfondirai il funzionamento dell&#8217;archiviazione nei sistemi Linux. Imparerai a gestire partizioni, filesystem, punti di montaggio, swap e la struttura standard delle directory secondo il <strong>Filesystem Hierarchy Standard (FHS)<\/strong>, competenze fondamentali per l&#8217;amministrazione di qualsiasi sistema Linux.<\/p>\n<blockquote><p><strong>\ud83d\udcd6 Materiale di approfondimento<\/strong> Consulta il PDF allegato al capitolo per esercitarti con laboratori guidati, scenari realistici e quiz di autovalutazione.<\/p><\/blockquote>\n","protected":false},"comment_status":"open","ping_status":"closed","template":"","class_list":["post-3642","lesson","type-lesson","status-publish","has-post-thumbnail","hentry"],"uagb_featured_image_src":[],"uagb_author_info":{"display_name":"Rootmail Academy","author_link":"https:\/\/rootmail.it\/en\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"103.8 Modificare file di testo di base La modifica dei file di testo \u00e8 una delle attivit\u00e0 pi\u00f9 frequenti nell&#8217;amministrazione di sistemi Linux. File di configurazione, script, log e documentazione vengono generalmente gestiti direttamente dalla riga di comando, soprattutto quando si lavora su server remoti privi di interfaccia grafica. Tra i numerosi editor disponibili, vi&hellip;","_links":{"self":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/lesson\/3642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/lesson"}],"about":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/types\/lesson"}],"replies":[{"embeddable":true,"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/comments?post=3642"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/media\/3680"}],"wp:attachment":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/media?parent=3642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}