VimCS: Varie: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
mNessun oggetto della modifica
 
(2 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Template:VimCS}}
{{Template:VimCS}}
= Differenze =
== Differenze ==
Una funzione irrinunciabile, controllare le differenze tra due o più file.
Una funzione irrinunciabile, controllare le differenze tra due o più file.


Riga 7: Riga 7:
aggiorna diff dopo cambiamenti - ''':diffupdate'''
aggiorna diff dopo cambiamenti - ''':diffupdate'''


vimdiff è un modo per richiamare vim con l'opzione -d:
espande blocco sotto il cursore - '''zo''' <br/>
$ vimdiff nome_file1 nome_file2
collassa blocco sotto il cursore - '''zc''' <br/>
espande tutti i blocchi - '''zr''' <br/>
collassa tutti i blocchi - '''zm''' <br/>
espande tutti i blocchi e gli eventuali nidificati - '''zR''' <br/>
collassa tutti i blocchi e gli eventuali nidificati - '''zM'''
 
'''<nowiki>:</nowiki>help :fold'''
 
vimdiff è un modo per richiamare vim con l'opzione ''-d'':
<pre>$ vimdiff nome_file1 nome_file2</pre>


Un paio di hack per controllare le differenze tra directory:
Un paio di hack per controllare le differenze tra directory:
Riga 23: Riga 32:




= Creare html =
== 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: <br/>
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: <br/>
'''<nowiki>:</nowiki>TOhtml'''
'''<nowiki>:</nowiki>TOhtml'''


crea un html da linea di comando:
crea un HTML da linea di comando:
$ vim -n -c 'TOhtml' -c 'wqa' nome_file > /dev/null 2>&1
<pre>$ ex -X -n -c 'TOhtml' -c 'xa' nome_file > /dev/null 2>&1</pre>


testo scuro su sfondo chiaro:
testo scuro su sfondo chiaro:
$ vim -n -c 'set background=light' -c 'TOhtml' -c 'wqa' nome_file > /dev/null 2>&1
<pre>$ ex -X -n -c 'set background=light' -c 'TOhtml' -c 'xa' nome_file > /dev/null 2>&1</pre>


testo chiaro su sfondo scuro:
testo chiaro su sfondo scuro:
$ vim -n -c 'set background=dark' -c 'TOhtml' -c 'wqa' nome_file > /dev/null 2>&1
<pre>$ ex -X -n -c 'set background=dark' -c 'TOhtml' -c 'xa' nome_file > /dev/null 2>&1</pre>




= Cifratura testo =
== Cifratura testo ==
$ vim -x nome_file
<pre>$ vim -x nome_file</pre>


cifratura senza file swap (più sicuro):
cifratura senza file swap (più sicuro):
$ vim -x -n nome_file
<pre>$ vim -x -n nome_file</pre>


Per aprirlo le volte successive non serve l'opzione ''-x'', Vim aggiunge una stringa per il
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: <br/>
riconoscimento. Per disattivare la cifratura dal file aperto digitare: <br/>
<nowiki>:</nowiki>set key= <br/>
<nowiki>:</nowiki>set key= <br/>


ovvero lasciando campo vuoto, per riattivarla si usa invece: <br/>
ovvero omettendo un valore, per riattivarla si usa invece: <br/>
'''<nowiki>:</nowiki>X'''
'''<nowiki>:</nowiki>X'''


La chiave viene sostituita da asterischi altrimenti sarebbe in chiaro (ma non viene memorizzata
La chiave viene sostituita da asterischi altrimenti sarebbe in chiaro (ma non viene memorizzata nella history).
nella history).


ROT13 encoding/decoding - '''g?'''
ROT13 encoding/decoding - '''g?'''




= Vim remote =
== Vim remote ==
Vim può funzionare come un server che accetta istruzioni da linea di comando. Aprire un terminale e digitare:
Vim può funzionare come un server che accetta istruzioni da linea di comando. Aprire un terminale e digitare:
$ vim --servername debianizzati
<pre>$ vim --servername debianizzati</pre>


Il nome dato è assolutamente arbitrario. <br/>
Il nome dato è assolutamente arbitrario. <br/>
Ora si può aprire un altro terminale che fungerà da client e fare qualche prova.
Ora si può aprire un altro terminale che fungerà da client e fare qualche prova.<br/>
Passiamo in modalità inserimento e scriviamo qualcosa:
Passiamo in modalità inserimento e scriviamo qualcosa:
$ vim --servername debianizzati --remote-send 'i La guida su Vim di Debianizzati.org<cr>'
<pre>$ vim --servername debianizzati --remote-send 'i La guida su Vim di Debianizzati.org<CR>'</pre>


Torniamo in modalità comando e apriamo un'altra finestra:
Torniamo in modalità comando e apriamo un'altra finestra:
$ vim --servername debianizzati --remote-send '<esc><c-w>s<cr>'
<pre>$ vim --servername debianizzati --remote-send '<Esc><C-w>s<CR>'</pre>


Salviamo il file e chiudiamo Vim:
Salviamo il file e chiudiamo Vim:
$ vim --servername debianizzati --remote-send '<esc>:w /tmp/debianizzati<cr>:qa<cr>'
<pre>$ vim --servername debianizzati --remote-send '<Esc>:w /tmp/debianizzati<CR>:xa<CR>'</pre>


Non sarà comodissimo ma si può fare anche questo :) <br/>
Non sarà comodissimo ma si può fare anche questo :) <br/>
Per gli altri comandi leggere l'help. <br/>
Per gli altri comandi leggere l'help. <br/>
'''<nowiki>:</nowiki>h --remote'''
'''<nowiki>:</nowiki>help --remote'''
 
[[Categoria: Elaborazione_testi]]

Versione attuale delle 02:32, 17 gen 2013

Vim Cheat Sheet

Sommario

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

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