VimCS: Varie
Vim Cheat Sheet |
Sommario |
Differenze
Una funzione irrinunciabile, controllare le differenze tra due o più file.
apre una finestra orizzontale diff - :diffsplit
apre una finestra verticale diff - :vert diffsplit
aggiorna diff dopo cambiamenti - :diffupdate
espande blocco sotto il cursore - zo
collassa blocco sotto il cursore - zc
espande tutti i blocchi - zr
collassa tutti i blocchi - zm
espande tutti i blocchi e gli eventuali nidificati - zR
collassa tutti i blocchi e gli eventuali nidificati - zM
:help :fold
vimdiff è un modo per richiamare vim con l'opzione -d:
$ vimdiff nome_file1 nome_file2
Un paio di hack per controllare le differenze tra directory:
$ vimdiff <(ls -R $DIR1) <(ls -R $DIR2) $ vim -c 'e nome_directory1' -c diffthis -c 'vert split nome_directory2' -c diffthis
Apre due tab con il diff di due file in ognuno:
$ vim -c 'e nome_file1' -c diffthis -c 'vert split nome_file2' -c diffthis -c 'tabnew' \ -c 'e nome_file3' -c diffthis -c 'vert split nome_file3' -c diffthis
Creare HTML
Converte in HTML il buffer corrente, mostrandolo in una finestra orizzontale, il nuovo file avrà lo stesso nome con l'aggiunta dell'estensione .html, ereditando i colori dello schema in uso:
:TOhtml
crea un HTML da linea di comando:
$ ex -X -n -c 'TOhtml' -c 'xa' nome_file > /dev/null 2>&1
testo scuro su sfondo chiaro:
$ ex -X -n -c 'set background=light' -c 'TOhtml' -c 'xa' nome_file > /dev/null 2>&1
testo chiaro su sfondo scuro:
$ ex -X -n -c 'set background=dark' -c 'TOhtml' -c 'xa' nome_file > /dev/null 2>&1
Cifratura testo
$ vim -x nome_file
cifratura senza file swap (più sicuro):
$ vim -x -n nome_file
Per aprirlo le volte successive non serve l'opzione -x, Vim aggiunge una stringa per il riconoscimento. Per disattivare la cifratura dal file aperto digitare:
:set key=
ovvero omettendo un valore, per riattivarla si usa invece:
:X
La chiave viene sostituita da asterischi altrimenti sarebbe in chiaro (ma non viene memorizzata nella history).
ROT13 encoding/decoding - g?
Vim remote
Vim può funzionare come un server che accetta istruzioni da linea di comando. Aprire un terminale e digitare:
$ vim --servername debianizzati
Il nome dato è assolutamente arbitrario.
Ora si può aprire un altro terminale che fungerà da client e fare qualche prova.
Passiamo in modalità inserimento e scriviamo qualcosa:
$ vim --servername debianizzati --remote-send 'i La guida su Vim di Debianizzati.org<CR>'
Torniamo in modalità comando e apriamo un'altra finestra:
$ vim --servername debianizzati --remote-send '<Esc><C-w>s<CR>'
Salviamo il file e chiudiamo Vim:
$ vim --servername debianizzati --remote-send '<Esc>:w /tmp/debianizzati<CR>:xa<CR>'
Non sarà comodissimo ma si può fare anche questo :)
Per gli altri comandi leggere l'help.
:help --remote