Ci sono 10 tipi di persone: chi capisce il sistema binario e chi no!! :)
EDITOR VIM

Vim editor

L'ditor "vim" è sicuramente il più snello e veloce editor di testo, ma non per questo poco potente; supporta la visualizzazione per molti linguaggi diversied inoltre può esssere utilizzato senza l'ausilio dell'interfaccia grafica, rendendo quindi il sistema ancora più veloce.
A prima vista può sembrare complicato ed astruso ma, imparando un po' di comandi ed un minimo di programmazione, vi accorgerete che ViM sarà un potente strumento nelle vostre mani e diventerà il vostro migliore amico nelle lunghe notti passate a programmare ...

Tornando a noi, ViM a differenza dei normali editor, prevede la possibilità di interagire con il vostro testo a diverli "livelli", a seconda della modalità in cui vi trovate. In ViM esistono 4 modalità ognuna con funzioni e caratteristiche differenti:
  • La modalità Normale (Normal)
  • La modalità Inserimento (Insert)
  • La modalità Comandi (Command)
  • La modalità Visuale (Visual)

La modalità Normale è la modalità "principe" in quanto è possibile accedere alle altre modalità passando necessariamente da qui. A questa modalità si accede automaticamente all'avvio di ViM o dalle altre modalità premendo il tasto "ESC".
La modalità Normale (si default) prevede comandi di routin per il testo, come ad esempio l'eliminazione di righe di parole,l'inserimento e la modifica di testo e la ricerca di stringhe.
L'accesso alle modalità Inserimento, Command e Visual avviene premendo rispettivamente "i", ":" e "v".

La modalità inserimento è la modalità standard per interagire con il testo: questa permette, come un normale editor, di interagire direttamente con il testo permettendone la modifica immediata.

La modalità Comandi è, come del resto suggerisce, più orientata verso l'interazione con ViM, inteso come programma, che con il testo di per sè. In tale modalità infatti è possibile aprire, chiudere, salvare file ed usare comandi preimpostati in ViM o crearne dei nuovi.
Infine, la modalità Visuale è una sorta di ibrido tra modalità Normale e di Inserimento: infatti, nella modalità Visuale è possibile selezionare parti di testo con i tasti freccia con cui si potrà interagire con gli usuali comandi della modalità Normale.
In questo modo è possibile selezionare parti di paragrafo, di parola o sezioni arbitrarie di un testo ed interagire esclusivamente con quello.

La difficoltà iniziale risiede nel fatto che ogni comando va dato da tastiera.
Per aprire o creare un nuovo file basterà digitare nel terminale:
  • vim [nomefile].

Una volta aperto il file occorre entrare in modalità scrittura digitando:
  • Tasto i: per la modalità "inserisci";

Dopodichè basterà scrivere normalmente il testo desiderato; una volta terminato, oppure in caso si voglia salvare per sicurezza e poi uscire da vim occorre digitare:
  • Tasto ESC: per tornare alla modalità "comandi";
  • Tasti ":w": per salvare il file;
  • Tasti ":w [nomefile]": per salvare il file con altro nome;
  • Tasti ":q": per uscire da vim;
  • Tasti ":q": per uscire da vim;
  • Tasti ":q!": per uscire da vim senza salvare un file modificato;
  • Tasti ":wq": per eseguire le due precedenti in sequenza;
  • Tasti ":![comando]": per eseguire comandi esterni.

Per eseguire modifiche rapide all'interno del file esiste una grande varietà di comandi anche personalizzabili che è possibile imarare solo con l'esperienza oppure richiamando la guida di "vim" (digitare vimtutor dal terminale); qui di seguito ho inserito alcuni dei più importanti:
  • Tasto ESC: per tornare alla modalità "comandi";
  • Tasti "dw": per eliminare la parola su cui ci si trova;
  • Tasti "dd": per eliminare la riga su cui ci si trova;
  • Tasti "[num_righe]dd": per eliminare [num_righe] numero di righe;
  • Tasti "yy": per copiare una riga;
  • Tasti "[num_righe]yy": per copiare [num_righe] numero di righe;
  • Tasti "p": per incollare la riga copiata;
  • Tasti ":[riga da copiare]co[riga dove copiare]": scrive esplicitamente i numeri della riga da copiare e incollare (il file è numerato per righe e colonne).

Per eseguire altre operazioni comuni su di un file (sempre modalità comandi):
  • Tasto ESC: per tornare alla modalità "comandi";
  • Tasti "$": per spostarssi a fine riga;
  • Tasti "^": per spostarsi a inizio riga;
  • Tasti "1G": per spostarsi all'inizio;
  • Tasti "G": per spostarsi alla fine;
  • Tasti "[num_riga]G": per spostarsi alla riga [num_riga];
  • Tasti "?[stringa]": per cercare una stringa all'interno del testo;
  • Tasti "u": per annullare l'ultima modifica.


» Continua »  ::  » Torna »
USO AVANZATO

Vim editor (uso avanzato)

Molto spesso capita di voler inserire del testo per-formattato in modo ripetitivo (come spesso accade in molti linguaggi di programmazione): per tal scopo in ViM è possibile ridefinire il comportamento di qualsiasi tasto in qualsiasi modalità usando la cosiddetta "mappatura".
Letteralmente la mappatura permette di associare ad una qualsiasi sequenza di tasti una nuova sequenza di tasti. Sebbene possa sembrare sciocco in realtà ciò è utilissimo in quanto in ViM ogni comando può essere raggiunto con una combinazione di tasti.

Per poter inserire una nuova mappatura è necessario entrare nella modalità Comandi ed usare il comando :map [tasti_ini] [tasti_fine] che permette di ridefinire in qualsiasi modalità la combinazione dei tasti in [tasti_ini] nella combinazione [tasti_fine].
Se vogliamo scegliere in quale modalità la mappatura deve avere effetto sostituiamo il comando map con i comando
  • :nmap (per la modalità Normale)
  • :imap (per la modalità Inserimento)
  • :cmap (per la modalità Comandi)
  • :vmap (per la modalità Visuale)


Ad esempio, se vogliamo che in modalità Inserimento la [ sia sostituita con [] basta rimappare come

:imap [ []

Bisogna ricordare che in ViM ad ogni comando corrisponde un tasto e quindi esistono dei tag speciali per indicare i vari tasti di funzione ed i comandi nella forma Ctrl+Tasto.
In particolar modo abbiamo
  • < F1>, ..., < F12> per i tasti funzione
  • < ESC> per il tasto ESC
  • < CR> per il tasto Invio
  • < Space> per il tasto Spazio
  • < Bar> per il tasto |
  • < BS> per il Back Space
  • < C-A>, ..., < C-Z> per la combinazione Ctrl+A, ..., Ctrl+Z


Consideriamo ad esempio il caso in cui debba scrivere continuamente

funzione()(2)(3)

e voglio riposizionarmi all'interno della prima parentesi. Allora possiamo ridefinire la mappatura di Ctrl-D nella modalità inserimento come

:imap <C-D> funzione()(2)(3)< ESC>hhhhhhi

In questo modo mappiamo Ctrl+D affinché scriva "funzione()(2)(3)" (ricordiamo che siamo già in modalità inserimanto poiché la mappatura è stata definita lì), prema il tasto < ESC> per andare in modalità inserimento, prema per sei volte h (ovvero torna indietro di 6 caratteri) ed infine prema i per entrare in nuovamente in modalità inserimento.

Se non ci piace una mappatura possiamo sempre eliminarla con il comando

:unmap [tasti_ini]

o, se vogliamo togliere la mappatura solo ad una certa modalità, con i comandi
  • :nunmap (per la modalità Normale)
  • :iunmap (per la modalità Inserimento)
  • :cunmap (per la modalità Comandi)
  • :vunmap (per la modalità Visuale)


(Si ringrazia Anakrys_Dagart per questa parte avanzata su ViM, nostro Editor di fiducia, ovvero di lunghe nottate di programmazione)


» Torna »
(Ultima modifica: January 17 2008 09:27:14)
NOPROFIT