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
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 orrizzontale, 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:
$ vim -n -c 'TOhtml' -c 'wqa' nome_file > /dev/null 2>&1
testo scuro su sfondo chiaro:
$ vim -n -c 'set background=light' -c 'TOhtml' -c 'wqa' nome_file > /dev/null 2>&1
testo chiaro su sfondo scuro:
$ vim -n -c 'set background=dark' -c 'TOhtml' -c 'wqa' 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 lasciando campo vuoto, 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>:qa<cr>'
Non sarà comodissimo ma si può fare anche questo :)
Per gli altri comandi leggere l'help.
:h --remote