VimCS: Varie

Da Guide@Debianizzati.Org.

Vim Cheat Sheet

Sommario

  1. Introduzione
  2. Le basi
  3. Gestione dei file
  4. Editing
  5. Varie
  6. Configurazione
  7. Extra

Indice

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 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:

$ 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

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti