venerdì 15 novembre 2013

Tutorial vi

vi è l'editor di testo di default dei sistemi UNIX. Permette di creare un nuovo file o editare un file esistente. vi è case sensitive. Quando si apre un file o se ne crea uno nuovo, in ogni momento bisogna avere presente che vi opera in una delle due modalità:
  • Modalità comando - command mode. Si va in command mode con il tasto Esc. In command mode si può salvare il file, salvare e uscire, uscire senza salvare, copiare linee, sostituire caratteri o parole, cancellare caratteri, etc.
  • Modalità inserimento - insert mode. In insert mode si possono inserire nuovi caratteri. Si va in insert mode con iaoIAO.
Quando si apre un file con il comando: vi file di default si è in command mode. Con vi -r file si recupera un file con le ultime modifiche se il sistema è andato in crash.

Muovere il cursore in command mode
  •   muovono il cursore di una posizione.
  • n, n, n, n muovono il cursore di n posizioni. Es: 2←, 14↑, 4→, 23↓.
  • h oppure <Backslace> (←), k (↑), l oppure <Space> (→), j oppure <Return> (↓).
  • ^ muove il cursore all'inizio della linea.
  • $ muove il cursore alla fine della linea.
  • w muove il cursore alla parola successiva.
  • b muove il cursore alla parola precedente.
  • :0 <Return> oppure 1G muove il cursore alla prima linea del file.
  • :n <Return> oppure nG muove il cursore alla linea n del file.
  • :$ <Return> oppure G muove il cursore alla fine del file.
Inserire testo in insert mode e tornare in command mode
  • text Esc scrive nella posizione anteriore al cursore. i significa insert.
  • text Esc scrive nella posizione successiva al cursore. a significa append.
  • text Esc crea una linea nuova sotto la attuale per scriverci. o significa open.
  • text Esc scrive all'inizio della linea attuale.
  • text Esc scrive alla fine della linea attuale.
  • text Esc crea una linea nuova sopra la attuale per scriverci.
In command mode: con u (undo) si annulla l'ultimo cambio, con . (redo) si ripete l'ultima azione.

Salvare e uscire da vi
  • Esc :w <Return> salva il file.
  • Esc :q <Return> esce.
  • Esc :wq <Return> salva e esce.
  • Esc :q! <Return> esce senza salvare.
Modificare testo in command mode
  • r character modifica il carattere attuale con il nuovo carattere character.
  • R new characters modifica i caratteri attuali con i nuovi caratteri new characters fino a quando non si preme Esc.
  • cw word sostituisce la parola attuale con la nuova parola word, poi premere Esc.
  • x cancella un carattere. nx cancella n caratteri.
  • dw cancella una parola. ndw cancella n parole.
  • dd cancella una linea. ndd cancella n linee.
  • yy copia una linea. nyy copia n linee.
  • p incolla la linea o le linee previamente cancellate (con dd o ndd) o copiate (con yy o nyy) a partire da una nuova posizione.
In command mode: con u (undo) si annulla l'ultimo cambio, con . (redo) si ripete l'ultima azione.

Altri comandi in command mode
  • Ctrl+g mostra il numero della linea attuale.
  • /word <Return> cerca la parola word nel file, verso giù.
  • ?word <Return> cerca la parola word nel file, verso su.
  • n ripete la ricerca.
  • N ripete la ricerca nel verso opposto.
  • :1,$ s/old/new/g <Return> sostituisce il testo old con il new in tutto il file.
  • :m,n s/old/new/g <Return> sostituisce il testo old con il new solo nelle linee dalla m alla n.

Per rimuovere i caratteri ^M del fomato DOS alla fine di ogni linea, si può usare il comando :1,$ s/^V^M//g, dove per far comparire il ^V bisogna dare Ctrl+v. Nella schermata, apparirà questo: :1,$ s/^M//g.

Funzioni di schermo in command mode
  • Ctrl+l fa il refresh dello schermo.
  • Ctrl+r fa il refresh dello schermo, togliendo le linee cancellate.
  • :set list <Return> fa vedere i caratteri speciali.
  • :set nolist <Return> torna a nascondere i caratteri speciali.
  • Ctrl+f va avanti di una schermata.
  • Ctrl+b va indietro di una schermata.
  • Ctrl+d va avanti di mezza schermata.
  • Ctrl+u va indietro di mezza schermata.

Fonte principale: http://www.cs.colostate.edu/helpdocs/vi.html

Nessun commento:

Posta un commento