![]()
[INDICE]:
1) PENSIERI IN LIBERTA'
2) VIM???
3) INIZIAMO
4) MUOVIAMOCI
5) SCRIVIAMO
5.1 - editazione
5.2 - cancellazione
5.3 - modalita' visuale
5.4 - taglia, copia, incolla
6) RICERCHE
6.1 - ricerca per carattere
6.2 - ricerca per stringa
7) SOSTITUZIONI
7.1 - sostituzione manuale
7.2 - sostituzione automatica
8) IMPOSTAZIONI
9) HELP
10) TABELLA COMANDI
---------------------------------------------------------------------
[1) PENSIERI IN LIBERTA']
Questa guida sul Vi nn può avere disclaimer in quanto è soltanto una
semplice guida su un fantastico editor di testo, però non potevo non sparare
qualche cazzata prima di iniziare la guida vera e propria e così ho creato questo
capitoletto in cui scriverò alcuni dei pensieri che mi vengono in mente mentre
scrivo questa guida.
Se magari a qualcuno sembrerò una persona poco seria... bhè, pazienza, è la verità! :)
Per tutti gli altri consiglio di giudicarmi solo dopo aver letto la guida (quando
ormai l'impressione sarà tramutata in certezza :).
Ecco i pensieri in libertà:
- Saluto tutti i miei amici e tutte le persone che frequentano quel gran bel sito che è
Napoli Hak e con cui alle volte passo le notti a chattare del più e del meno.
- Vorrei tanto che fosse estate per stare al mare (adoro le ragazze in costume :).
- Maledico tutti i lamer e i bellilli del creato (ma soprattutto i lamer bellilli).
- In genere le guide hacker hanno delle note in cui si dice che musica si è ascoltata
durante la scrittura, ed in genere si tratta sempre di musica heavy metal, punk-rock
e roba simile... io sto ascoltando Marco Masini. :D
Cambio genere, oggi sento i Beach Boys.
Bravissimi i TRAIN, che poi mi fanno pure pensare a questa estate...
- Questo sabato è strano... è a chiocciola... SETTIMANA DI MERDAAAAA! :(
Ok, ok, la smetto... ora si passa alla guida ;)
----------------------------------------------------------------------
[2) VIM???]
Per chi non lo sapesse il VIM è 1 potente editor di testo per linux, derivato dal
vi, uno degli editor di testo di base dei sistemi unix-like.
Siccome il VIM è una versione avanzata del vi in genere lo si chiama vi, e anche in questa
guida avverrà così (pensate a quanti byte risparmierò non scrivendo la M alla fine... ;)
La vera differenza tra un normale editor di testo (tipo notepad per intenderci) e il vi è
che quest'ultimo permette l'esecuzione di svariati comandi, la possibilità di creare comandi
personalizzati, la possibilità di utilizzare script, la possibilità di gestire finestre di testo
multiple, l'assistenza fornita ai programmatori grazie all'opzione di indentazione (le varie
spaziature che si inseriscono all'interno di un sorgente per renderlo più leggibile) automatica
e alla presenza di schemi di colori che rendono i codici più facilmente leggibili (il migliore
è murphy).
Oltre tutto quello già elencato si può dire che il vi è stato pensato e realizzato per tutti
quegli utenti "avanzati" che fanno ampio uso di editor di testo e che odiano dover spostare
le mani dalla tastiera (ad esempio io... :), quindi anche se ad un principiante potrebbe dare
inizialmente un'impressione di elevata difficoltà consiglio a tutti di imparare ad usarlo alla
perfezione in quanto è uno strumento indispensabile per la programmazione e l'hacking... ;)
In questa guida saranno analizzati (quasi) tutti i comandi utilizzati durante l'editing, per
quanto riguarda gli script e le configurazioni avanzate del programma magari scriverò un'altra
guida più in là, se ci sarà voglia (hmmm...) e tempo!
----------------------------------------------------------------------
[3) INIZIAMO]
In questo paragrafo descriverò come creare dei file di testo e come editare dei file
già esistenti.
Per lanciare il vi basta digitare dalla shell:
[m3xican@napolihak m3xican]$ vim
e premere INVIO. Così facendo verrà eseguito il programma. Se però proverete a scrivere qualcosa
vi accorgerete che c'è qualcosa di strano... ovvero che non viene scritto niente!
Il vostro primo pensiero sarà "Cominciamo bene...", ma non preoccupatevi, è normalissimo,
questo perchè il vi possiede due modalità principali di funzionamento: una "comando" e una
"inserimento".
Quando lanciate il programma partite sempre dalla modalità comando, ovvero quella modalità in
cui potete eseguire i vari comandi disponibili, se invece volete scrivere qualcosa
dovete passare in modalità inserimento digitanto il comando:
i
Adesso potete scrivere quello che volete proprio come se stesse in un banalissimo editor
di testo.
Dopo ore e ore di scrittura (spero per voi sensata... :) arriverà il momento in cui vorrete
salvare il vostro lavoro, niente di più semplice! Basta tornare in modalità comando premendo
il tasto:
ESC
Adesso possiamo accedere ad una terza modalità, che è una particolare modalità comando detta
"modalità ultima linea" a cui si accede digitando:
:
quando ci trova in modalità comando.
Adesso vedrete apparire il simbolo ":" all'inizio dell'ultima riga dell'editor, e il cursore
posizionarsi dopo di esso. Questa modalità può essere considerata come una sorta di shell del vi,
qui infatti, per eseguire un comando è necessario premere INVIO dopo averlo digitato.
Adesso finalmente potete salvare il vostro file digitando:
:w nome_file
oppure
:sav nome_file
In entrambi i casi viene creato un file con il nome da voi indicato che contiene tutto quello che
avete scritto fino a quel momento.
Se oltre a salvare volete anche uscire dal vi non dovete fare altro che digitare:
:q
Una volta premuto INVIO ci si ritrova nella shell.
Un ottimo sistema per ottimizzare il tutto è quello di abbinare i comandi (caratteristica
utilissima del vi), in pratica scrivendo:
:wq nome_file
Salviamo il nostro nuovo file e usciamo.
Quando poi abbiamo bisogno di tornare a lavorare sul nostro documento non dobbiamo fare altro che
digitare dalla shell:
[m3xican@napolihak m3xican]$ vi nome_file
Verrà riavviato il vi e caricato il file indicato come parametro sotto shell.
Ora possiamo riprendere la stesura del nostro testo, però questa volta, quando avremmo bisogno di
salvare basterà passare in modalità comando e digitare ":w", mentre quando avremmo intenzione di
salvare il nostro file con un nome diverso basterà digitare ":sav nuovo_nome" (sempre dalla
modalità comando), tenendo ben presente che tutte le modifiche che verranno effettuate da quel
momento in poi sul testo, una volta salvate, andranno applicate al nuovo file appena creato.
In pratica "w" è il corrispettivo di "salva" e "sav" è il corrispettivo di "salva con nome".
Poichè a tutti capita di sbagliare... nel caso abbiamo inavvertitamente modificato un file che non
dovevamo toccare possiamo sempre uscire senza salvare.
Per fare ciò è necessario utilizzare l'operatore "!" che forza i comandi ed ignora i messaggi
d'errore, in pratica bisogna digitare quanto segue:
:q!
Una volta tornati alla shell potrete verificare che il file non ha subito nessuna modifica
visualizzandolo con un cat, rieditandolo col vi o verificando la data dell'ultima modifica
con ls.
Come già vi ho detto il vi è pensato per persone che non amano perdere molto tempo, soprattutto
nella gestione dei comandi, una scorciatoia alla procedura di salvataggio e uscita spiegata
poco prima è il comando:
ZZ
tale comando salva il file (che deve essere un file già esistente) ed esce.
In pratica si passa dalla sequenza:
ESC
:
wq
INVIO
alla sequenza:
ESC
ZZ
non male vero? ;)
---------------------------------------------------------------------
[4) MUOVIAMOCI]
Basta parlare di vi, chiudiamo il file, spegniamo il pc e andiamo a fare un giro... :D
Ok, avevo detto di smetterla... riprendo a fare il serio (che palle che siete! ;).
Fino ad ora avete imparato ad usare il vi come un semplice editor di testo, è giunto
il momento di iniziare ad usarlo in maniera più efficace.
Ricordatevi di essere sempre in modalità comando quando eseguite i comandi che sto per
spiegare.
I primi comandi da conoscere per potersi spostare all'interno di un file editato sono i seguenti:
k
h l
j
L'ordine in cui li ho rappresentati non è affatto casuale, infatti essi sono usati al posto delle
frecce per muoversi sul testo:
"h" sposta il cursore a sinistra, "j" in basso, "k" in alto e "l", indovinate un pò... a destra.
Perchè usare questi tasti al posto delle frecce?
Semplice, per non spostare le mani dalla zona centrale della tastiera!
I comanandi appena descriti permettono di muoverci di un carattere alla volta, se invece abbiamo
intenzione di spostarci di 'n' caratteri non dobbiamo fare altro che sfruttare un altra
importantissima caratteristica del vi, ovvero la possibilità di far eseguire un comando
quante volte vogliamo.
Per poter ottenere ciò basta anteporre al comando il numero 'n' di volte che vogliamo che
esso venga ripetuto, quindi se un semplice "l" ci sposta di un carattre a destra
nl (dove 'n' è un numero)
ci sposta di 'n' caratteri a destra.
Questa utile caratteristica può essere utilizzata con quasi tutti i comandi che verranno
illustrati in questo paragrafo, pertanto segnalerò solo i comandi che non possono utilizzarla,
lasciandola sottintesa per tutti gli altri.
Alle volte può essere scomodo spostarsi di un carattere alla volta, questo soprattutto
quando ci si deve posizionare alla fine della riga che si sta editando.
Un comando che ci permette di effettuare uno spostamento più ampio è:
w
Che non farà nient'altro che spostare il cursore sul primo carattere della successiva parola.
Ricordate che tutti i segni di punteggiatura e i caratteri speciali sono considerati parole.
Se invece vogliamo spostarci sulla parola precedente è necessario digitare il comando:
b
Ricordate che anche questo comando sposta il cursore sempre sul primo carattere della parola.
Se invece vogliamo spostarci di una parola in avanti, però sull'ultimo carattere bisogna digitare
il comando:
e
Mentre per spostarsi sull'ultimo carattere della parola precedente:
ge
Da notare che quando ci si trova nel mezzo di una parola i comandi "b" ed "e"
spostano il cursore ripettivamente sul primo e sull'ultimo carattere della parola stessa
e che si spostano su di una parola successiva o precedente solo se il cursore si trova sul primo
o sull'ultimo carattere della parola corrente.
Questi comandi ci permettono di spostarci lungo le parole, ma esistono anche dei comandi
per spostarsi lungo le righe.
Per spostarci alla fine della riga in cui è presente il cursore è necessario utilizzare il comando:
$
Mentre per spostarsi sul primo carattere non di spaziatura di una riga si utilizza il comando:
^
Questo comando ignora qualsiasi numero gli sia anteposto.
Se invece ci si vuole spostare all'inizio di una riga, indipendentemente dal fatto che il primo
carattere sia un carattere di spaziatura, si deve utilizzare il comando:
0 (zero)
Anteporre un numero a questo comando annulla il comando stesso, in pratica non si
ottiene alcun effetto.
Quando si edita un testo si ha spesso la necessita di portarsi su di una riga in particolare,
soprattutto quando si programma (dopo un errore segnalato dal compilatore ad esempio...).
Per venire incontro a quest'esigenza il vi mette a disposizione alcuni comandi molto utili.
Spesso è utile visualizzare la fine di un documento, per spostarsi sull'ultima riga di un file
si usa il comando:
G
Anteponendo un numero 'n' a questo comando ci si posizionerà sulla riga n-esima.
Un altro modo per spostarsi all'n-esia riga è quello di utilizzare il comando in modalità ultima riga:
:n
dove 'n' è il numero della riga in cui ci si vuole posizionare.
Digitando ":$" si ottiene lo stesso effetto del comando "G".
Mentre per spostarsi sulla prima riga c'è il comando:
gg
Se invece ci si vuole spostare ad una certa percentuale del testo bisogna
utilizzare il comando:
%n
Dove la 'n' è la percentuale del testo che vogliamo raggiungere.
Alle volte è anche utile spostarsi all'interno della finestra momentanemanete aperta,
per permetterci movimenti relativi al suo interno il vi ci permette tre comandi:
H
posiziona il cursore sulla prima riga della finestra aperta
M
posiziona il cursore sulla riga mediana della finestra aperta
L
posiziona il cursore sull'ultima riga della finestra aperta.
Pertanto se abbiamo aperto una finestra che contiene 9 righe l'esecuzione del comando "H" ci
posizionerà sulla prima, il comando "M" sulla quinta e il comando "L" sulla nona.
Spesso si ha necessita di focalizzare quello che si legge su una riga ben precisa,
ad esempio per avere una visione migliore di una parte di codice di un programma.
Anche in questo caso sono presenti tre comandi dedicati a spostamenti della schermata
relativi ad una riga:
zz
centra la schermata sulla riga in cui è presente il cursore
zt
fa diventare la riga in cui è presente il cursore la prima riga della schermata
zb
fa diventare la riga in cui è presente il cursore l'ultima riga della schermata
Un'altra potente caratteristica del vi è la possibilità di marcare le righe in modo
da poterle raggiungere facilmente in seguito.
Per marcare una riga è necessario eseguire il comando:
mx
Dove 'x' è la lettera che marcherà la riga.
Per poter tornare su quella riga basterà utilizzare il comando:
`x
dove 'x' è la lettera che marca la riga che vogliamo ragiungere.
Un utile comando da modalità ultima riga è:
:marks
che mostra tutte le linee marcate e i corrispettivi caratteri associati.
Molto importanti sono anche i comandi dedicati allo scrolling, che permettono di spostarsi
rapideamente all'interno del documento ed effettuare rapidi controlli.
Le operazioni di scrolling nel vi non si limitano solo a quelle dei normali editor di testo
(page down, page up), ma permettono un controllo maggiore degli scroll, andiamo a vedere come:
CTRL-b (page up)
e
CTRL-f (page down)
sono i classici comandi di scroll, che permettono di spostarsi di una schermata.
CTRL-u
e
CTRL-d
si spostano di mezza schermata, rispettivamente verso sopra il primo e verso sotto il secondo.
In conclusione (di questo paragrafo... la guida è ancora lunga, e il bello deve ancora venire.
Non sperate di cavarvela con così poco! ;) voglio segnalare un comando utile durante la programmazione:
%
questo comando se eseguito su di una parentesi si posiziona sulla sua corrispettiva (di apertura o
chiusura, a seconda di dove ci si era posizionati prima del comando).
----------------------------------------------------------------------
[5) SCRIVIAMO]
* 5.1 - EDITAZIONE *
Abbiamo imparato (almeno spero) come muoverci sul nostro documento, penso che ora sia
arrivato il momento di sapere come editarlo nel migliore dei modi.
Il comando principale per iniziare a scrivere e quello che abbiamo già visto nel 3°
capitolo di questa guida, ovvero "i". Tale comando ci "sposta" in modalità inserimento;
dopo la pressione del tasto "i" possiamo iniziare a scrivere a partire dalla posizione che precede
il cursore.
Se invece vogliamo iniziare a scrivere dalla posizione che segue quella corrente dobbiamo
digitare il comando:
a
Tale comando sposterà il cursore di una casella a destra e ci porterà in modalità inserimento.
Alle volte si ha bisogno di aggiungere delle cose alla fine di una riga, e nel vi non
poteva mancare un comando per effettuare questa azione:
A
Tale comando porterà il cursore a destra dell'ultimo carattere non nullo della riga su cui ci
si trova al momento della sua esecuzione e ci porterà in modalità inserimento.
Un altro utile comando è quello che ci permette di andare a scrivere dall'inizio della riga ovvero:
I
Un'altra coppia di comandi molto importanti è quella che ci permette di aggiungere una riga
al testo che stiamo editando, con:
o
Si aggiunge una riga sotto quella su cui è presente il cursore al momento del comando, mentre:
O
Aggiunge una riga sopra quella corrente.
Sebbene l'aggiunta di una riga sotto quella corrente può essere effettuata anche premendo INVIO
il comando "O" risulta di indubbia utilità in quanto ci permette di evitare un procedimento lungo
per aggiungere una riga sopra quella che stiamo editando (ovvero sali su, posizionati alla fine
della riga, premi INVIO).
Dopo l'esecuzione di entrambi i comandi ci si ritrova in modalità inserimento con il cursore posto
all'inizio della riga appena creata.
* 5.2 - CANCELLAZIONE *
Durante la stesura dei nostri capolavori... :) ci capiterà spesso di sbaglire, il vi non può
non venirci incontro anche questa volta. Il comando base per la cancellazione è:
x
Questo comando cancella il carattere sottostante il cursore, eseguendolo più volte si cancellano
più caratteri. Digitando un numero 'n' prima di esso si cancellano 'n' caratteri a partire
dalla posizione del cursore.
Invece il comando:
X
cancella il carattere posto a sinistra del cursore.
Per effettuare cancellazioni più "complesse" abbiamo a disposizione il comando "d" che di
solito va abbinato ai comandi di posizionamento per ottenere l'effetto desiderato.
Se ad esempio vogliamo cancellare una parola abbiamo a disposizione il comando:
dw
Tale comando accetta un numero posto tra le due lettere che lo compongono, in quanto si va ad
indicare di quante parole ci si vuole spostare; pertanto per cancellare 'n' parole dobbiamo
digitare il comando:
dnw
Dove 'n' è il numero di parole che vogliamo cancellare.
Lascio al lettore la sperimentazione delle varie combinazioni "d + comando_di_spostamento".
Per poter cancellare un intera riga si ha a disposizione il comando:
dd
che elimina la riga su cui è posizionato il cursore, anche in questo caso anteponendo un numero
'n' al comando si cancellano 'n' righe.
Se invece vogliamo cancellare tutto quello che segue il cursore sulla riga in cui esso è presente
dobbiamo eseguire il comando:
D
Andando ad anteporre un numero 'n' al comando si cancellano 'n-1' righe a partire da quella su
cui ci si trova, ovvero si cancella tutto quello che segue il cursore sulla riga in cui ci si
trova e poi 'n-1' righe seguenti.
I comandi per la cancellazione appena citati lasciano il vi in modalità comando.
Se invece abbiamo bisogno di cancellare un qualcosa e poi trovarci in modalità inserimento
abbiamo bisogno di eseguire dei corrispettivi, ovvero:
c al posto di d
cc al posto di dd
C al posto di D
Questi comandi hanno lo stesso effetto dei loro corrispettivi, ma in più restituiscono la modalità
inserimento.
Alle volte ci si può sbagliare anche quando si effettua una cancellazione, per recuperare il testo
eliminato abbiamo a disposizione il comando:
u
che in pratica è il comando di undo, ovvero quel comando che annulla l'ultimo comando eseguito.
Quando si è proprio recidivi nel commettere errori, si può dover anche annullare l'annullamento
di un comando (uno scioglilingua! :) in tal caso abbiamo a disposizione il comando per il redo:
CTRL-r
In pratica questi due comandi sono quelli rappresentati dalle frecce "avanti" e "indietro" nei
vari programmi di grafica o di editazione testi.
Ricordate che questi due comandi non agiscono soltanto con i comandi di cancellazione, ma bensì
con ogni comando eseguito.
Un altro utile comando che può essere associto alla coppia undo-redo è il comando:
.
che ripete l'ultimo comando effettuato.
* 5.3 - MODALITA' VISUALE *
Un'altra modalità molto utile (ma quante sonoooo??? Basta!!! :) è la modalità visuale.
Tale modalità ci permette di selezionare un'area di testo su cui eseguire un comando. Dopotutto
alle volte è molto più comodo selezionare quello che si vuole cancellare mentre si legge un rigo
che leggere il rigo, contare le parole da cancellare, posizionarsi sulla prima ed eseguire "dnw"!
Comuque de gustibus... ognuno fa come meglio crede!
Allora, per passare in modalità visuale bisogna utilizzare il comando:
v
una volta che ci si trova in modalità visuale ci si può muovere sul testo come meglio si crede,
spostandosi con i tasti direzione o con i comandi, gli spostamenti saranno sempre abbinati
all'evidenziazione del testo.
Quando abbiamo terminato di selezionare l'area che ci interessa non dobbiamo fare altro che
smettere di spostarci ed eseguire il comando che desideriamo.
Durante la selezione possiamo avere il bisogno di spostarci all'inizio dell'area evidenziata,
per invertire la posizione del cursore abbiamo a disposizione il comando:
o
che sposta il cursore nel punto da cui abbiamo iniziato a selezionare, permettendoci poi di
muoverci per selezionare all'indietro o per deselezionare il selezionato.
Infatti per deselezionare un'area selezionata è sufficente ripassarci sopra con il cursore.
Quando abbiamo bisogno di selezionare righe intere possiamo usare il comando:
V
spostandoci verso l'alto o il basso possiamo selezionare/deselezionare tutte le righe che
vogliamo e poi eseguire su di esse un comando, ad esempio una cacnellazione o una copia.
Come abbiamo già visto fino ad ora il vi è pieno di risorse, e così nella modalità visuale
è presente anche un supporto per le tabelle.
Eseguendo il comando:
CTRL-v
si passa in un particolare tipo di modalità visuale detta "visuale blocco" che permette di
muoversi lungo le tabelle per selezionare gli elementi.
Con la modalità visuale blocco si può continuare ad utilizzare il comando "o" per spostarsi
da un estremo all'altro della riga selezionata e in più si può utilizzare il comando:
O
per spostarsi diagonalmente all'interno dell'area selezionata.
E' importante notare che i comandi "o" ed "O" eseguiti in modalità visuale non sono gli stessi
comandi eseguiti in modalità comando, questo proprio grazie alle due differenti modalità.
* 5.4 - TAGLIA, COPIA, INCOLLA *
Per completare le nostre operazioni di editazione del testo non possiamo non conoscere
i classici comandi di taglia, copia, incolla.
Il comando per copiare il testo è:
y
tale comando eseguito nella sua forma base (ovvero digitando solo 'y') copia un solo carattere,
e più precisamente il carattere su cui è presente il cursore.
Però il vi permette di abbinarlo ai comandi di spostamento già visti (come nel caso della
cancellazione) e alla modalità visuale.
Quindi ad esempio possiamo eseguire i seguenti comandi:
yw
che copia fino al carattere iniziale della parola successiva escluso, quindi se si hanno due
parole e si è posizionati sulla prima, eseguendo questo comando si copia la prima parola e
in più lo spazio che le separa
ye
che copia una parola, ma non lo spazio che segue
y$
che copia dalla posizione del cursore fino ala fine della riga, e così via.
Un altro utile comando è
Y
oppure l'equivalente
yy
che copia la riga intera su cui è posizionato il cursore.
Il vi apparentemente non possiede un comando per il taglio del testo, ma solo apparentemente...
Infatti per eseguire un taglio di testo, ovvero un eliminazione di una determinata parte di testo
e il suo inserimento da qualche altra parte, è sufficente utilizzare i comandi di cancellazione.
Infatti tutte le volte che cancelliamo una parte del testo, tale parte viene memorizzata in
un buffer (in parole povere un contenitore temporaneo) e può essere incollata sul testo in un
qualsiasi altro punto.
Per poter incollare il testo che abbiamo memorizzato nel nostro buffer temporaneo (dopo un
operazione di copia o di taglio/cancellazione) abbiamo a disposizione due comandi:
p
incolla il testo prima del cursore, e
P
che incolla il testo dopo il cursore.
Da notare che quando si esegue una copia o una cancellazione di un intera riga viene memorizzato
anche il carattere di a capo, quindi andando ad eseguire il comando 'p' si incolla la riga
sotto la riga corrente, ed eseguendo il comando 'P' sopra.
Per evitare di dover cancellare lo spazio che si è creato si può utilizzare la modalità
visuale andando a selezionare soltanto il testo.
----------------------------------------------------------------------
[6) RICERCHE]
Un'azione molto ricorrente durante l'editazione di un testo è la ricerca di una
stringa, ovvero di un insieme di caratteri. Quando si ha a che fare con documenti composti
da centinaia di righe è praticamente impossibile sperare di effettuare questa ricerca "visivamente"
e bisogna affidarsi a programmi (ad esempio "grep" sotto linux) e comandi di ricerca contenuti
negli editor.
Il vi presenta dui tipi di ricerca, la ricerca per carattere e la ricerca per stringa.
* 6.1 - RICERCA PER CARATTERE *
il comando da utilizzare quando si vuole trovare la prima occorenza di un carattere 'x'
a partire dalla posizione del cursore è:
fx
per proseguire nella ricerca, ovvero per cercare una successiva occorrenza del carattere appena
trovato, si usa il comando:
;
Se invece si vuole cercare la prima occorrenza del carattere 'x' che precede la posizione del
cursore (ovvero se si vuole cercare all'indietro), bisogna usare il comando:
Fx
in questo caso per proseguire con la ricerca a ritroso bisogna utilizzare il comando:
,
Una coppia di comandi simile a quella appena descritta è quella costituita dal comando
tx
e dal comando
Tx
che in pratica svolgono la stessa funzione dei comandi "f" e "F", ma spostano il cursore non
sul carattere trovato, ma bensì sul carattere che lo precede.
* 6.2 - RICERCA PER STRINGA *
Quando abbiamo bisogno di trovare una determinata stringa di testo all'interno di un
file dobbiamo effettuare una ricerca con il comando:
/stringa
dove "stringa" è la parola (o le parole) che vogliamo cercare, la ricerca avverrà dal cursore
fino alla fine del testo.
Se invece vogliamo effettuare una ricerca a ritroso, ovvero dal cursore fino all'inizio del testo,
dobbiamo utilizzare il comando:
?stringa
Un importante aiuto alle nostre ricerche è dato dal carattere '.' che ha la stessa funzione
del '?' sotto shell (ad esempio il comando 'ls cas?' elenca tutti i file contentuti nella
directory corrente che iniziano per 'cas' e che sono costituiti da quattro lettere).
Il carattere '.' infatti sostituisce a se stesso tutti i possibili caratteri, facendoci così
trovare tutte le possibili varianti di una parola in base ai nostri bisogni.
Ad sempio il comando
/cas.
eseguito prima della frase "Sono andato a casa per caso" segnalerà come trovate (evidenzierà)
le parole 'casa' e 'caso'.
Il carattere '.' non è l'unico mezzo che abbiamo per specializzare le nostre ricerche, sono
presenti anche altri operatori che aiutano il nostro compito.
Infatti la semplice operazione di ricerca trova le occorrenze di una stringa all'interno del testo,
il che significa che alle volte è possibile ottenere come risultato della ricerca di una determinata
parola una parte di un'altra parola (ad es.: ricercando 'ama' troviamo 'ama'to).
Il vi ci viene incontro grazie alla sintassi:
/ © GnomixLand http://www.gnomixland.com/ |