Vi: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Revert to the revision prior to revision 51756 dated 2007-02-01 01:49:57 by 82.58.73.108 using popups |
||
Riga 1:
==Cos'è==
'''Vi''' è un [[w:editor di testo|editor di testo]] a interfaccia testuale. È pensato per editare file sorgente di configurazione e simili. Offre tutta una serie di caratteristiche che facilitano l'editing di tipi di file specifici (quali C, HTML, e centinia di altri formati), l'automazione di azioni ripetitive e la manipolazione di più file.
Vi è una vecchia versione dell'editor che faceva (e fa tuttora parte) di molte verisoni di UNIX. Esiste una versione notevolmente migliorata che si chiama Vim.
==Perché imparare Vi==
Per avere a disposizione un potente strumento di editing. Vi è conosciuto da praticamente ogni amministratore di sistemi unix/linux dato che è un editor presente in ogni distribuzione e viene utilizzato quando si vogliono effettuare rapidamente correzioni a file testuali senza usare l'interfaccia grafica. Vi viene utilizzato anche come editor di emergenza infatti per essere eseguito non richiede particolari librerie o processi in esecuzioni e quindi funziona anche quando il sistema non è totalmente configurato o non è totalmente operativo.
==Ottenere Vim==
Che io sappia non esistono distribuzioni di Vi, tuttavia si può tranquillamente usare Vim. È disponibile per una varietà di sitemi operativi, inclusi Windows e Linux. Può essere scaricato da [http://www.vim.org/download.php http://www.vim.org/download.php]
==Quickstart==
Line 7 ⟶ 15:
vi [nome file]
A questo punto compare l'interfaccia di vi. Essa è composta dall'area per editare il testo e da uno o due righe in basso. Esse segnalano le informazioni sullo stato attuale e mostrano i comandi quando vengono immessi. Su alcune distribuzioni Linux può essere utile lanciare vim invece di vi, poiché
Esitono due modalità di funzionamento per vi:
*'''modalità comandi''': permette di inserire comandi e scegliere quale azione compiere. Questa modalità e suddivisa a sua volta in due sottogruppi:
**comandi immediati: sono formati da un numero limitato di caratteri.
**comandi a linea: sono iniziati premendo i due punti(:) e terminati da INVIO. Questi comandi sono simili all'editor di linea 'ex' e usano concetti di editing simili a 'perl' e 'awk'
*'''modalità editing''': permette di inserire e cancellare il testo. Funziona più o meno come un editor di testo quale blocco note o kate. Va notato che essendo un programma testuale alcune cose non sono fatte nel modo usuale.
TODO diagramma degli stati
All'avvio vi è in modalità comandi. Per passare alla modaltà editing bisogna premere
i
Questo è uno dei comandi immediati
È così possibile iniziare a inserire ed editare il testo. Sulla maggior parte delle piattaforme funzionano tutti i tasti:
INVIO, BACKSPACE, CANC, HOME, FINE,
FRECCIASX, FRECCIADX, FRECCIASU, FRECCIAGIU'
Va notato che questo non è un comportamento standard, poiché vi è stato originariamente pensato per funzionare con tastiere che non hanno questi tasti. Tuttavia possiamo non occuparci di ciò.
Per uscire e salvare il file
ESC :
a questo punto nell'ultima riga appaiono i due punti. Ciò indica che vi è entrato nella modalità in cui accetta i comandi formati da linee e non quelli immediati. A questo punto bisogna premere
wq INVIO
(nota che vi è case sensitive) per salvare e uscire.
==Smart stuff==
Questo è un elenco di cose furbe che vi sa fare.
Esiste un posto ufficiale per i [http://www.vim.org/tips/index.php Tip di Vim]. Una buona collezione di suggerimenti è [http://www.vim.org/tips/tip.php?tip_id=305 questa].
Sarebbe bello che ognuno contribuisse con i sui suggerimenti.
Come esercizio per i primi lettori di questo wiki lascio da trovare le spiegazioni per i comandi qui sotto riportati.
Nota che tutte le operazioni di ricerca e sostituzione in vim supportano le espressioni regolari
===Modalità comandi immediati===
'''inserimento o modifica'''
i
Inserimento a partire dalla posizione del cursore.
I
Line 13 ⟶ 54:
a
Inserimento a partire
A
Inserimento a partire dalla fine della riga
o
O
Inizia a scrivere in una nuova riga sotto (o) oppure sopra (O) quella corrente
~
Cambia il case del carattere corrente ( da maiuscolo in minuscolo e viceversa ) e spostati a destra di una posizione
r
modifica un carattere sulla posizione del cursore
r#
Da scoprire
R
modifica la linea fino ad <esc>
s
modifica un numero di caratteri
c(spost.)
modifica dal cursore al punto di arrivo di (spost.)
C
annulla la linea e la riscrive (fino ad <esc>)
<esc>
torna in stato comandi dopo inserimento o riscrittura
'''Cancellazioni'''
x
cancella un carattere dove e' posizionato il cursore
X
cancella un carattere a sinistra di dove e' posizionato il cursore
d(spost.)
cancella dalla posizione del cursore al punto di arrivo di (spost.)
D
cancella dalla posizione del cursore alla fine della linea
dd
Cancella una riga (quella su cui è il cusore)
d'x
cancella dalla riga corrente alla linea marcata dal crt "x"
'''spostamenti'''
l SPACEBAR
un carattere a destra
h <BKSP>
un carattere a sinistra
j <RETURN> +
una riga in basso
k -
una riga in alto
0 ^
inizio riga
$
fine riga
(n.linea)G
va alla riga (n.linea)
(n.col.)|
va alla colonna (n.col.)
w
una parola a destra (si ferma alle punteggiature)
W
una parola a destra (non si ferma alle punteggiature)
b
una parola a sinistra (si ferma alle punteggiature)
B
una parola a sinistra (non si ferma alle punteggiature)
e
alla fine della parola (si ferma alle punteggiature)
E
|