Manuale sull'editor vi

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

up previous

Up: Tutorial sull'editor VI Previous:Macro

Suggerimenti



  Le abbreviazioni valgono per l'INPUT MODE e sono una 
  generalizzazione delle macro; permettono di digitare una i
  breve parola ottenendone l'espansione (alla pressione della 
  barra spaziatrice) in una sequenza qualsiasi di caratteri.
  Per tale scopo esiste la direttiva 'ab'.

  Esempio:
     :ab US UNIVERSITA` DEGLI STUDI

  La direttiva 'unab' rimuove le abbreviazioni.

  Esempio:
     :unab US

  Come già accennato, le opzioni, le macro e le abbreviazioni 
  possono essere attivate non solo dall'interno dell'editor, ma 
  anche da shell; questo avviene assegnando alla variabile EXINIT la 
  sequenza di comandi necessari per la attivazione, separati 
  unicamente dal simbolo di pipe ('|').
  In tal caso non si dimentichi di esportare la variabile EXINIT.

  Esempio:

     EXINIT='set ai nu | ab US UNIVERSITA` DEGLI STUDI'
     export EXINIT

  Volendo automatizzare questa assegnazione, in modo che l'utente 
  non sia costretto a digitarlo ogni volta che accede al sistema, 
  va inserito nel file di inizializzazione per l'utente (.profile 
  per sh, .login/.cshrc per csh e tcsh).

  Qui di seguito troverete elencati alcuni tra i molti suggerimenti 
  possibili per risolvere problemi frequenti:
  • Per cancellare una parola: dw
  • Per cancellare più parole: d#w (dove '#' è il numero delle parole da cancellare)
  • Per cancellare dalla posizione corrente fino a 'parola': d/parola
  • Per cancellare 5 linee e metterle in un buffer 'a': "a5dd
  • Per cancellare la frase corrente fino al punto di posizionamento del cursore: d(
  • Per cancellare la parte restante di un paragrafo dove si è posizionati: d}
  • Per cambiare una parola: cw
  • Per invertire l'ordine dei caratteri: xp
  • Per trasformare una parola inglese in plurale (aggiunta della 's' finale): eas
  • Per cancellare fino all'inizio di una linea: d0
  • Per memorizzare 3 parole nel buffer 'x': "xy3w
  • Per memorizzare nel buffer 's' 5 linee, a partire dalla corrente, e stamparle sopra di essa: "s5YP
  • Per ricercare e visualizzare tutte le linee che contengono la stringa 'pattern': :g/pattern/p
  • Per ricercare e visualizzare attraverso il contenuto dei buffer numerati: "1pu.u.u ('u' e '.' alternativamente)
  • Per sostituire completamente 'str' con 'replace': :g/str/s//replace/[g][c]
  • Per sostituire una parola ('old') con un'altra ('new') in tutto il file: :%s/old/new/g mentre per avere un prompt di conferma ad ogni sostituzione: :%s/old/new/gc
  • Utilizzo di 'word erase' o 'line erase' in fase di inserimento per sostituire quello che si è appena scritto. Esempi: hello tim^W riposiziona il cursore sulla 't' di "tim" hello tim^U riposiziona il cursore all'inizio della linea Poichè queste key possono essere redefinite, controllare il loro stato attraverso il comando Unix: stty -a controllando 'werase' e 'kill'
  • Per copiare un gruppo di linee da un file all'altro:
    1. salvare il file corrente utilizzando ':w'
    2. editare il file contenente i dati richiesti, utilizzando ':e <filename>'
    3. eseguire ora un yank delle linee desiderate in un buffer; ad esempio, '"a3Y' eseguirà uno yank di 3 linee nel buffer 'a'
    4. editare il file originale utilizzando ':e! <filename>'
    5. posizionare il cursore nel posto desiderato; utilizzando il comando '"ap' o '"aP' il testo contenuto nel buffer 'a' verrà copiato
  • Per ritornare alla posizione del file precedentemente editato, utilizzare: CTRL^ (tenere premuto il tasto 'control' mentre si preme il tasto '^') questo è un modo abbreviato per sostituire il comando ':e #'
  • Per commentare linee in linguaggio C (/*...*/) è possibile definire delle map sui caratteri come 'v' e 'V' nella seguente maniera: map v I/*^[$a*/^[^M map V /\/\*/^MNxx/\*\//^Mxx`` il carattere 'v' commenterà una singola linea, mettendo '/*' e '*/' rispettivamente all'inizio e alla fine della linea, mentre 'V' rimuoverà questi da una linea o da un paragrafo commentati (è necessario essere all'inizio oppure all'interno dei commenti)
  • Per stampare un certo range di linee direttamente sulla stampante, senza doverle salvare attraverso un file: :#1,#2 w !lpr invierà le linee da #1 a #2 alla stampante di default
  • Le linee cancellate possono essere recuperate passando attraverso i buffer numerati; tali buffer, numerati da 1 a 9, contengono le ultime 9 cancellazioni effettuate. Per passare attraverso i buffer:
    1. digitare: "1p visualizzerà il buffer #1
    2. digitare: u eliminerà la copia dei dati
    3. digitare: . eseguirà l'ultimo comando '"1p' ma solo in questo unico caso aggiunge 1 ed esegue il comando '.', che corrisponde a '"2p'; all'esecuzione successiva, '.' corrisponde a '"3p'
    4. quando si trova il buffer corretto è sufficiente tenere il ripristino effettuato.
  • Per marcare una parte di testo, si utilizza 'm' seguito da una lettera. Esempio: m a all'inizio del testo da marcare m b alla fine del testo da marcare È possibile copiare successivamente tale parte nel punto del testo ove è posizionato il cursore: :'a,'b co . oppure è possibile spostarla: :'a,'b mo . o ancora cancellarla: :'a,'b del .

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