PREV Capitolo 14 - Archiviare i File |
NEXT Capitolo 16 - Gestione Dei Pacchetti Slackware |
$ vi |
$ vi /etc/resolv.conf
|
vi +47 /usr/src/linux/init/main.c
|
h - muove a sinistra di un carattere |
Ad esempio, per cancellare una linea da un file si usa dd. Questo cancellerà la riga su cui si trova il cursore. Lanciando il comando 4dd si dirà a vi di rimuovere la linea su cui si trova il cursore, ed anche le tre successive. In generale, il numero indica a vi quante volte eseguire quel comando.
Puoi combinare un numero con i tasti di movimento per muoverti di molti caratteri per volta. Ad esempio, 10k muoverà in alto sullo schermo il cursore di dieci linee.
La modalità di comando può anche essere usata per il copia e incolla, l'inserimento di testo, e per inserire altri file nel buffer corrente. La copia del testo è eseguita con il tasto y (y sta per yank - strattone, ndT). La copia dell'intera linea corrente è fatta digitando yy, e anche questo comando può essere anticipato da un numero per copiare più linee. Poi, muovi il cursore su una locazione e premi p. Il testo viene incollato sulla linea successiva a quella corrente. Si può tagliare il testo digitando dd, e p può essere usato per incollare di nuovo il testo nel file. Leggere del testo da un altro file è una procedura semplice. Digita soltanto :r, seguito da uno spazio e dal nome del file che contiene il testo da essere inserito. Il contenuto del file verrà incollato nel buffer corrente sulla linea dopo il cursore. I cloni di vi più sofisticati comprendono anche il completamento automatico del nome del file, similmente alla shell.
L'ultima caratteristica che verrà illustrata è la ricerca. La modalità di comando permette una semplice ricerca, così come più complicati comandi per trovare-e-sostituire che fanno uso di una potente versione delle espressioni regolari. Una completa discussione sulle espressioni regolare va oltre lo scopo di questo capitolo, così questa sezione illustrerà solamente semplici utilizzi per la ricerca.
Una semplice ricerca è compiuta digitando il tasto /, seguito dal testo che vuoi cercare. vi cercherà in avanti a partire dal cursore fino alla fine del fine, fermandosi quando trova una occorrenza. Nota che le occorrenze incomplete fermeranno vi alla stessa maniera. Per esempio, una ricerca di “the” farà sì che vi si fermi su “then”, “therefore”, e così via. Questo perchè tutte le parole soddisfano la stringa “the”, pur contenendola solo all'inizio.
Dopo che vi ha trovato la prima occorrenza, puoi passare alla successiva semplicemente premendo il tasto / seguito da invio. Puoi anche cercare all'indietro attraverso il file sostituendo lo slash con il tasto ?. Ad esempio, la ricerca all'indietro nel file di “the” sarabbe possibile col comando ?the.
La modifica del testo è possibile in molte maniere. Dalla modalità di comando, premendo r sarà possibile rimpiazzare il carattere su cui si trova il cursore. Semplicemente digita il nuovo carattere ed esso sostituirà quello sotto il cursore. Poi tornerai automaticamente nella modalità di comando. Premendo R potrai rimpiazza quanti caratteri vorrai. Per uscire da questa sorta di modalità di sostituzione, premi semplicemente il tasto esc per tornare in modalità di comando.
Esiste anche un'altra maniera per alternarsi fra inserimento e sostituzione.
Premere il tasto insert dalla modalità di comando ti farà passare alla
modalità di inserimento. Una volta nella modalità di inserimento, il tasto
Insert servirà per alternarsi fra inserimento e sostituzione.
Premerlo una volta ti permetterà di sostituire. Premerlo ancora
ti permetterà di nuovo di inserire del testo.
top
:e /etc/lilo.conf |
Se vuoi riaprire il file corrente, puoi farlo semplicemente usando e!.
Questo è utile se hai fatto qualcosa di indesiderato sul file e vuoi aprirlo
daccapo.
Alcuni cloni di vi (ad esempio, vim) permettono di aprire buffer multipli allo
stesso tempo. Ad esempio, per aprire il file 09-vi.sgml nella mia
home directory mentre un altro file è aperto, non avrei da digitare che:
:split ~/09-vi.sgml
|
:w randomness
|
:w! |
In certi casi, il tuo computer o vi stesso potrebbero crashare. Comunque, sia elvis sia vim faranno in modo da minimizzare il danno su ogni buffer aperto. Entrambi gli editor salvano i buffer aperti su un file temporaneo quando potranno. Questi file hanno solitamente un nome simile al file originale aperto, ma con un punto all'inizio. Questo rende il file nascosto.
Questo file temporaneo viene rimosso una volta che l'editor viene chiuso in
condizioni normali. Questo significa che i file temporanei saranno ancora in
giro se qualcosa crasha. Quando tenterai di riaprire di nuovo il file, ti
verrà chiesto che cosa fare. Nella maggior parte dei casi, gran parte del tuo
lavoro non salvato potrà essere recuperata. elvis ti manderà
anche una mail (dal Paradiso, abbastanza stranamente :) dicendoti che esiste
una copia di backup.
top
Una serie di comandi può essere impartita in modalità di comando per configurare vi come preferisci. A seconda del tuo editor, puoi abilitare alcune caratteristiche che faciliteranno la programmazione (come l'evidenziazione della sintassi, l'auto-indentazione, e altro), programmare delle macro per automatizzare certi compiti, abilitare sostituzioni testuali, eccetera.
Quasi tutti questi comandi possono essere messi in un file di configurazione
nella tua home directory. elvis si aspetta un file di nome .exrc,
mentre vim si aspetta il file .vimrc.
La maggior parte dei comandi di setup inseribili in modalità di comando possono
essere messi nei file di configurazione. Questo include informazioni sul setup,
sostituzioni testuali, macro ed altro.
Discutere tutte queste opzioni e le differenze fra gli editor è un compito abbastanza complicato. Per maggiori informazioni, controlla la pagina del manuale o il sito web del tuo editor vi. Alcuni editor (come vim) hanno una estesa documentazione all'interno dell'editor accessibile con il comando :help, o qualcosa di simile. Puoi anche controllare sul libro della O'Reilly Learning the vi Editor di Lamb e Robbins.
Molti programmi comuni su Linux apriranno un file di testo in vi
per default. Ad esempio, modificare le crontabs (vedi la sezione su cron)
lancerà vi di default. Se non ti piace vi e vorresti che fosse aperto
un altro editor, quello che hai bisogno di fare è modificare la variabile di
ambiente VISUAL con l'editor che preferisci.
Per informazioni sulla configurazione delle variabili d'ambiente, vedi la sezione
Variabili d'ambiente
nel Capitolo 8.
Se vuoi essere sicuro che il tuo editor sia quello di default ad ogni login,
aggiungi il settaggio di VISUAL
nel tuo file .bash_profile o .bashrc.
top
Tabella 15-1. Movimenti
Operationi | Tasti |
---|---|
sinistra, giù, su, destra | h, j, k, l |
Alla fine della linea | $ |
All'inizio della linea | ^ |
Alla fine del file | G |
All'inizio del file | :1 |
Alla linea 47 | :47 |
Tabella 15-2. Modifiche
Operationi | Tasti |
---|---|
Rimuovere una linea | dd |
Rimuovere 5 linee | 5dd |
Rimpiazzare un carattere | |
Rimuovere un carattere | x |
Rimuovere 10 caratteri | 10x |
Annulla l'ultima operazione | u |
Unisci la linea corrente con le successive | J |
Tabella 15-3. Ricerca
Operationi | Tasti |
---|---|
Cerca “asdf” | /asdf |
Cerca all'indietro “asdf” | ?asdf |
Ripeti l'ultima ricerca in avanti | / |
Ripeti l'ultima ricerca all'indietro | ? |
Tabella 15-4. Salvare e uscire
Operationi | Tasti |
---|---|
Uscita | :q |
Uscire senza salvare | :q! |
Salvare e uscire | :wq |
Salvare, senza uscire | :w |
Riaprire il file corrente | :e! |
Salvare il buffer sul file asdf | :w asdf |
Aprire il file hejaz | :e hejaz |
Copiare il file asdf nel buffer | :r asdf |
Copiare l'output di ls nel buffer | :r !ls |
PREV Capitolo 14 - Archiviare i File |
NEXT Capitolo 16 - Gestione Dei Pacchetti Slackware |