Manuale sull'editor vi

MANUALI
CURRICULUM
LA MIA TESI
CHI SONO
TELELAVORO
CORSI ONLINE
ENGLISH
SCRIVIMI
WEBMASTER
AUTOCAD
XML
APPUNTI
GRATIS

next up previous

Next: Comandi per il controllo dei file Up: Tutorial sull'editor VI Previous:Per iniziare

Comandi Operativi



  Per utilizzare i comandi di spostamento ci si deve trovare in COMMAND MODE.


  MOVIMENTO DEL CURSORE

    h 1 spazio a sinistra (come backspace) l 1 spazio a destra (come space) k 1 linea sopra (stessa colonna) j 1 linea sotto (stessa colonna)

    (in sostituzione di questi quattro caratteri, si possono anche utilizzare le frecce per spostarsi nelle diverse direzioni)

    G posizionamento sull'ultima linea del testo #G posizionamento sulla linea identificata da "#" (dove #=numero) Esempi: 3G 5G 175G :# stesso funzionamento di #G #move; ripete "move" "#" volte (dove move=qualsiasi comando di spostamento)

RISULTATI A VIDEO

    ^G mostra lo stato del file corrente (informazioni varie) := mostra il numero di linee del file :.= mostra il numero della linea corrente ^L refresh del video ^D si posiziona mezza pagina avanti (in INSERT MODE shifta indietro di un TAB) ^U si posiziona mezza pagina indietro ^F si posiziona sulla pagina successiva ^B si posiziona sulla pagina precedente

    (i tasti di controllo delle pagine, ^D-^U-^F-^B, possono anche essere utilizzati con un opzionale moltiplicatore, come ad esempio:

    5^F 5 pagine avanti ^E sposta la schermata avanti senza spostare il cursore ^Y sposta la schermata indietro senza spostare il cursore H si posiziona all'inizio della schermata M si posiziona al centro della schermata L si posiziona al fondo della schermata << shifta la linea corrente a sinistra <L shifta tutte le linee, da quella corrente alla fine dello schermo, verso sinistra >> shifta la linea corrente a destra (come TAB in INSERT MODE) >L shifta tutte le linee, da quella corrente alla fine dello schermo, verso destra

PARAGRAFO
    { sposta il cursore all'inizio del paragrafo corrente (o della sezione, se si è in modalità C) } sposta il cursore alla fine del paragrafo corrente (o della sezione, se si è in modalità C) ( si posiziona all'inizio della frase corrente ) si posiziona alla fine della frase corrente [[ si posiziona all'inizio di una sezione ]] si posiziona alla fine di una sezione (è possibile anche associare comandi ai precedenti spostamenti)
LINEA
    $ si posiziona alla fine della linea ^ si posiziona al primo carattere non-blank della linea 0 si posiziona alla colonna zero (inizio linea) #| si posiziona ad un'esatta colonna sulla linea (colonna "#") Esempi: 5| 1| 9| w si posiziona all'inizio della parola successiva (una parola è delimitata da un carattere non alfanumerico) e si posiziona alla fine della parola successiva b torna all'inizio della parola precedente W,E,B stesso funzionamento di w,e,b (parola delimitata da spazio) + posizionamento al primo carattere non-blank della linea successiva (come RETURN) - posizionamento al primo carattere non-blank della linea precedente
EDIT
    ESC ESCAPE: fa uscire dall'INPUT MODE, per terminare quindi l'inserimento e tutte le modifiche in generale (se c'è qualcosa che non va, funziona anche ^C) . ripete l'ultimo cambiamento effettuato (o meglio, l'ultimo comando dato) o OPEN: inserisce una linea sotto quella corrente O OPEN: inserisce una linea sopra quella corrente i INSERT: inserisce caratteri a sinistra del cursore I INSERT: inserisce caratteri all'inizio della linea a APPEND: aggiunge caratteri a destra del cursore A APPEND: aggiunge caratteri alla fine della linea J JOIN: concatena la linea successiva alla corrente #s SUBSTITUTE: sostituisce per "#" caratteri, di default 1 carattere #S SUBSTITUTE: sostituisce per "#" intere linee, di default 1 linea #r REPLACE: sostituisce "#" caratteri, di default 1 carattere (non è necessario premere ESC); con "rcarattere" (dove 'carattere' è un qualsiasi carattere), il carattere di posizionamento del cursore viene sostituito con quello specificato dopo 'r' R REPLACE: entra in modalità di sovrascrittura c[x] CHANGE: cambia fino a dove specificato con "x" Esempio: cw sostituisce la parola corrente cc CHANGE: cambia l'intera linea C CHANGE: cambia fino alla fine della linea Nota: in tutte le modalità di inserzione di testo elencate sopra (i,a,o,c,r), è possibile anteporre un numero a queste; ciò comporterà una duplicazione della funzione desiderata tante volte quante specificate con quel numero. Nei successivi comandi richiesti da INPUT MODE, invece, non è possibile specificare il numero delle operazioni da compiere: ^D elimina un rientro (TAB) ^^D elimina tutti i rientri per la linea corrente (digitare il carattere '^' e poi un CTRL-D) ^W cancella l'ultima parola introdotta (nota: può essere settato con il comando 'ssty') ^U cancella l'ultima linea introdotta (nota: può essere settato con il comando 'ssty') ^H corrisponde a backspace, cioè torna indietro di un carattere (nota: può essere settato con il comando 'ssty') Esiste un altro comando richiesto da INPUT MODE: ^V permette di inserire nel testo il carattere ESC
EXIT

    ZZ salva il file ed esce (da COMMAND MODE) :[#,#]w[!] [filename] WRITE: scrive senza uscire (nel file "filename", se viene specificato, altrimenti nel file corrente); vengono utilizzati "#,#" per specificare gli indirizzi 'from' e 'to' (da/a), e "!" (bang) per forzare la scrittura (cioè per riscrivere)

    Esempi: :1,5 w abcd scrive le linee da 1 a 5 nel file abcd :/from/,/to/ w efg scrive da 'from' a 'to' nel file efg :/from/,+5 w hij scrive da 'from' a 5 linee dopo nel file hij

    :x WRITE and QUIT: aggiorna, se necessario, ed esce :wq WRITE and QUIT: aggiorna ed esce :w !UNIX-CMD

    WRITE: scrive l'output e lo passa attraverso una pipe ad un comando UNIX

    Esempio: :1,10 w !lpr manda le prime 10 linea alla stampante

    :q[!] QUIT: esce senza salvare le modifiche (! 'bang' forza l'uscita)

UNDO
    u UNDO: annulla l'ultima modifica U UNDO: annulla tutte le modifiche fatte alla linea corrente fino a quando il cursore non è stato spostato dalla linea "[1-9]PASTE utilizza un comando PASTE per incollare uno dei buffer numerati; i buffer numerati immagazzinano le ultime 9 cancellazioni effettuate, con il metodo "first in last out". Solitamente si utilizzano per riportare sul file porzioni testo precedentemente cancellate Esempi: "1P "2p
CUT

    #dd DELETE: cancella "#" linee, di default una linea (quella corrente) d<movesrch>DELETE: cancella fino a dove viene specificato da "move" o "search"

    Esempi: dfe cancella fino a quando trova 'e' dta cancella fino a quando trova 'a' d20| cancella fino alla 20esima colonna

    d#move DELETE: cancella fino a dove viene specificato da "#move"

    Esempio:

    d3k cancella 3 linee al di sopra della linea corrente e questa inclusa dw cancella la parola corrente rispetto alla posizione del cursore

    d/<pattrn> DELETE: cancella fino a quando viene trovato "pattern" (in avanti) d?<pattrn> DELETE: cancella fino a quando viene trovato "pattern" (in dietro) d'<chr> DELETE: cancella fino al mark 'chr' (vedere la miscellanea per imparare come creare dei mark) D DELETE: cancella dalla posizione corrente fino alla fine della riga #x X-OUT: cancella un carattere sotto al cursore (oppure "#" caratteri) #X X-OUT: cancella un carattere prima del cursore (oppure "#" caratteri)

YANK
    y<movesrch> esegue uno YANK fino a dove specificato da "move" o "search" Esempi: yw yank di una parola yfg yank fino a quando trova 'g' y#move esegue uno YANK fino a dove specificato da "#move" Esempio: y3j esegue lo yank di 3 linee verso il basso oltre alla linea corrente di partenza y/pattern/ esegue uno YANK fino a trovare 'pattern' (in avanti) y?pattern? esegue uno YANK fino a trovare 'pattern' (in dietro) y'<chr> esegue uno YANK fino al mark 'chr' (vedere la miscellanea per imparare come creare dei mark) Y, yy esegue uno YANK di una linea (quella corrente) #Y, #yy esegue uno YANK di "#" linee sottostanti "[char]YANK copia lo YANK in 'char'
PASTE
    P PASTE: incolla il contenuto del buffer prima del cursore p PASTE: incolla il contenuto del buffer dopo il cursore "<char>PASTE PASTE: incolla il buffer richiamato (char=a-z), utilizzando uno dei comandi sopraelencati "#PASTE PASTE: incolla il buffer numerato (#=1-9) utilizzando uno dei comandi sopraelencati
RICERCHE
    f char FIND: cerca la successiva occorrenza di 'char' sulla linea t char 'TIL: si sposta fino alla successiva occorrenza di 'char' sulla linea F char FIND: cerca la precedente occorrenza di 'char' sulla linea T char 'TIL: si sposta fino alla precedente occorrenza di 'char' sulla linea ; ripete l'ultimo f, t, F o T eseguito , capovolge l'ordine dell'ultimo f, t, F o T eseguito % mostra il confronto con (), [] o {} n NEXT: ripete l'ultimo comando / o ? N NEXT: capovolge l'ordine dell'ultimo comando / o ? /string trova 'string' cercando in avanti; in aggiunta, /string/ /string/;/str2/ sposterà il cursore sulla prima 'str2' dopo 'string' ?string trova 'string' cercando a ritroso; l'opzione ";" ?string? ha lo stesso funzionamento come sopra /, ? utilizza la stringa usata per la ricerca precedente NOTA : pattern utilizzati per le ricerche con / e ? ^ inizio della linea $ fine della linea . qualsiasi char * qualsiasi num. di chars \< inizio di parola \> fine di parola [str] qualsiasi char in str [^str] chars non in str [x-y] chars compresi tra x e y

MATLAB
FORTRAN 90
TURBOPASCAL
C/C++
PERL
JAVA
JAVASCRIPT
SCILAB
LATEX
FORTRAN 77
LINUX