Arda Solutions s.r.l. | The Informal Blog

the_six_million_dollar_man_image

Per questo venerdì torrido, in Arda Solutions ci siamo presi la libertà di scrivere un articolo più “leggero” parlando un po’ del nostro editor a linea di comando preferito.

Qui in Arda Solutions lavoriamo quotidianamente su infrastrutture Enterprise e, a furor di popolo, l’editor ideale per configurazioni Linux, Applicativi, Oracle etc … è risultato essere vim!

Capita spesso però che non si approfondiscano le sue potenzialità e ci si limiti ad editare poche righe ricordandosi solo del comando :wq

Questo articolo introduce alcuni Tips Interessanti che possono tornare utili in molte situazioni.

Rendere automatico il ripetitivo… con un punto

E’ sufficiente entrare in Normal/Visual/Command Mode (Per intenderci, con il comando <ESC>) e premere “.” … Ad ogni pressione verrà riprodotta l’ultima modifica effettuata

Salta alla linea in un attimo

E’ molto utile quando state programmando usando VIM e, l’esecuzione vi da un errore segnalando errore e linea. E’ sufficiente aprire l’editor (sempre in Command Mode) e digitare “: numero della riga” (per esempio -> ":52" per andare alla linea 52)

Incolla senza indentare

Essendo VIM un editor molto avanzato cerca di interpretare anche ciò che proviamo ad incollare, indentando il codice per noi. Questo può essere comodo o un vero e proprio incubo. Nel caso si volesse disabilitare l’autoindent sarà sufficiente preme: <ESC> :nopaste <INVIO>

E, per i più esigenti, alcuni tips “avanzati” …

Indentare una riga

Sempre quando abbiamo la necessità di sviluppare del codice usando vim è possibile indentare una linea di codice molto velocemente, basterà posizionarsi sulla riga e dare: <ESC> 2 volte = (<ESC> ==)

Indentare un blocco di codice

La versione avanzata ci permette addirittura di indentare un blocco di codice. Per farlo è necessario usare anche la “visual mode”, una modalità che ci permette di gestire parti del testo in modo “visuale” … Per indentare la parte del codice necessaria sarà sufficiente: Entrare in Visual mode con: <ESC> Shift + V , selezionare le righe e poi premere una sola volta = (ESC -> Shift+V -> =)

Generare linee ripetitive incrementali

Qui ci sarà bisogno di un po’ più di pratica, ma nemmeno troppa… Dovremo di fatto fare un ciclo all’interno del editor che inserire delle righe preoccupandosi di incrementare un numero (per esempio per l’aggiunta di ip in sequenza o di record DNS). Per farlo è sufficiente scrivere questo codice sempre in Command Mode:

:r! for i in $(seq 1 5); do echo "nameserver 192.168.2.${i}"; done

Il cui risultato sarà:

nameserver 192.168.2.1

nameserver 192.168.2.2

nameserver 192.168.2.3

nameserver 192.168.2.4

nameserver 192.168.2.5

Per adesso ci fermiamo qui, anche se siamo sicuri di aver dato dimostrazione delle potenzialità di questo editor, ormai diventato lo standard per l’editing a linea di comando … E mi raccomando, usate VIM non VI … E assolutamente niente Emacs!

2009-02-02-emacs-vs-vim

Leave a Reply