VimCS: Configurazione: differenze tra le versioni
(config vimcs) |
S3v (discussione | contributi) m (→.vimrc) |
||
(6 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Template:VimCS}} | {{Template:VimCS}} | ||
__TOC__ | |||
Personalmente utilizzo una statusbar ben configurata, ma a qualcuno piace avere i numeri delle | Personalmente utilizzo una statusbar ben configurata, ma a qualcuno piace avere i numeri delle righe alla sinistra del testo: <br/> | ||
righe alla sinistra del testo: <br/> | |||
visualizza numeri riga - ''':set number''' <br/> | visualizza numeri riga - ''':set number''' <br/> | ||
rimuove visualizzazione - ''':set nonumber''' | rimuove visualizzazione - ''':set nonumber''' | ||
C'è anche chi vuole il mouse | C'è anche chi vuole il mouse. <br/> | ||
abilita uso del mouse - ''':set mouse=a''' <br/> | abilita uso del mouse - ''':set mouse=a''' <br/> | ||
disabilita - ''':set mouse=''' | disabilita - ''':set mouse=''' | ||
L'unica vera comodità che trovo è nel poter ridimensionare facilmente le finestre ma di contro ha che il cursore viene spostato quando si clicca in un punto dello schermo, ed è un comportamento che detesto. | |||
== .vimrc == | == .vimrc == | ||
Il file di configurazione è una cosa molto personale, citando vimgor | Il file di configurazione è una cosa molto personale, citando vimgor: <br/> | ||
<skizzhg> vimgor, :kill_kittens <br/> | <skizzhg> vimgor, :kill_kittens <br/> | ||
<vimgor> The Command that Cannot Be Named. :kill_kittens is what will happen if you use someone | <vimgor> The Command that Cannot Be Named. :kill_kittens is what will happen if you use someone else's vimrc. | ||
else's vimrc. | |||
Voglio però riportare alcuni stralci del mio, in particolare: <br/> | Voglio però riportare alcuni stralci del mio, in particolare: <br/> | ||
Riga 26: | Riga 25: | ||
* la visualizzazione dei comandi parziali, se stiamo per digitare ZZ per chiudere Vim, verrà | * la visualizzazione dei comandi parziali, se stiamo per digitare ''ZZ'' per chiudere Vim, verrà mostrata la prima ''Z'', in caso ci fossimo sbagliati basterà usare ''Esc'' | ||
mostrata la prima Z, in caso ci fossimo sbagliati basterà usare Esc | |||
'''set showcmd''' | '''set showcmd''' | ||
* la gestione dei buffer, ci sono vari | * la gestione dei buffer, ci sono vari plugin più o meno comodi o invasivi, ho preferito creare delle semplici scorciatoie. Questo è indispensabile per muoversi tra uno e l'altro senza doverlo prima salvare | ||
'''set hidden''' | '''set hidden''' | ||
Riga 44: | Riga 40: | ||
* b: passa al precedente | * b: passa al precedente | ||
* f: passa al successivo | * f: passa al successivo | ||
* g: alterna tra l'attuale e il precedente, stesso comportamento di | * g: alterna tra l'attuale e il precedente, stesso comportamento di Ctrl-^ | ||
* D: rimuove un buffer dalla lista | * D: rimuove un buffer dalla lista | ||
* numeri: passaggio dal buffer 1 al 10 | * numeri: passaggio dal buffer 1 al 10 | ||
'''nnoremap <Leader>L : | '''nnoremap <Leader>L :ls<CR>:buffer<Space> <br/> | ||
'''nnoremap <Leader>l :ls< | '''nnoremap <Leader>l :ls<CR>''' <br/> | ||
'''nnoremap <Leader>b :bp< | '''nnoremap <Leader>b :bp<CR>''' <br/> | ||
'''nnoremap <Leader>f :bn< | '''nnoremap <Leader>f :bn<CR>''' <br/> | ||
'''nnoremap <Leader>g :e#< | '''nnoremap <Leader>g :e#<CR>''' <br/> | ||
'''nnoremap <Leader>D :bd< | '''nnoremap <Leader>D :bd<CR>''' <br/> | ||
'''nnoremap <Leader>1 :1b< | '''nnoremap <Leader>1 :1b<CR>''' <br/> | ||
'''nnoremap <Leader>2 :2b< | '''nnoremap <Leader>2 :2b<CR>''' <br/> | ||
'''nnoremap <Leader>3 :3b< | '''nnoremap <Leader>3 :3b<CR>''' <br/> | ||
'''nnoremap <Leader>4 :4b< | '''nnoremap <Leader>4 :4b<CR>''' <br/> | ||
'''nnoremap <Leader>5 :5b< | '''nnoremap <Leader>5 :5b<CR>''' <br/> | ||
'''nnoremap <Leader>6 :6b< | '''nnoremap <Leader>6 :6b<CR>''' <br/> | ||
'''nnoremap <Leader>7 :7b< | '''nnoremap <Leader>7 :7b<CR>''' <br/> | ||
'''nnoremap <Leader>8 :8b< | '''nnoremap <Leader>8 :8b<CR>''' <br/> | ||
'''nnoremap <Leader>9 :9b< | '''nnoremap <Leader>9 :9b<CR>''' <br/> | ||
'''nnoremap <Leader>0 :10b< | '''nnoremap <Leader>0 :10b<CR>''' | ||
* per la creazione di file | * per la creazione di file HTML non include i numeri delle righe, se impostati, e usa la formattazione per mezzo di regole css al posto dei tag e attributi di formattazione pesanti e ormai deprecati <br/> | ||
dei tag e attributi di formattazione pesanti e ormai deprecati <br/> | |||
'''let html_number_lines=0''' <br/> | '''let html_number_lines=0''' <br/> | ||
'''let html_use_css=1''' | '''let html_use_css=1''' | ||
* per inserire un cancelletto a inizio riga:<br/> | |||
'''nmap à ^i#<ESC>'''<br/> | |||
'''vmap à <C-V>^I#<ESC>'''<br/> | |||
ora, premendo '''à''', è possibile aggiungere un '#' all'inizio di una singola riga (modalità normale) o all'inizio di più righe (dopo averle selezionate in modalità visuale). | |||
== .vim/ == | == .vim/ == | ||
Normalmente il file di configurazione e quello della cronologia risiedono nella home, mentre tutti gli eventuali plugin e documentazione, schema colori e altro vanno nella directory <code>.vim/</code> con una struttura simile a <code>/usr/share/vim/ | Normalmente il file di configurazione e quello della cronologia risiedono nella home, mentre tutti gli eventuali plugin e documentazione, schema colori e altro vanno nella directory <code>.vim/</code> con una struttura simile a <code>/usr/share/vim/vimcurrent/</code>. <br/> | ||
Per coerenza e ordine si farà in modo che i file <code>.viminfo</code> e <code>.vimrc</code> vengano spostati nella directory <code>.vim/</code> insieme a tutto il resto. | Per coerenza e ordine si farà in modo che i file <code>.viminfo</code> e <code>.vimrc</code> vengano spostati nella directory <code>.vim/</code> insieme a tutto il resto. | ||
Per <code>.viminfo</code>, aggiungere la seguente riga in <code>.vimrc</code>: | Per <code>.viminfo</code>, aggiungere la seguente riga in <code>.vimrc</code>: | ||
<pre> | <pre>set viminfo='55,<55,s11,:99,h,n~/.vim/viminfo</pre> | ||
set viminfo='55,<55,s11,:99,h,n~/.vim/viminfo | |||
</pre> | |||
I parametri con le relative spiegazioni si trovano nell'help: <br/> | I parametri con le relative spiegazioni si trovano nell'help: <br/> | ||
'''<nowiki>:</nowiki> | '''<nowiki>:</nowiki>help 'viminfo'''' | ||
Per .vimrc inserire la seguente variabile in bash_profile (o .profile): | Per .vimrc inserire la seguente variabile in bash_profile (o .profile): | ||
<pre> | <pre>export VIMINIT="source $HOME/.vim/vimrc"</pre> | ||
export VIMINIT="source $HOME/.vim/vimrc" | |||
</pre> | Per ulteriori informazioni vedere: <br/> | ||
Per ulteriori informazioni | '''<nowiki>:</nowiki>help VIMINIT''' | ||
'''<nowiki>:</nowiki> | |||
== Gerarchia della directory <code>.vim/</code> == | == Gerarchia della directory <code>.vim/</code> == | ||
<code>.vim/colors</code>: dove risiedono gli eventuali schemi | <code>.vim/colors</code>: dove risiedono gli eventuali schemi colore aggiunti. | ||
Visualizza lo schema in uso - ''':colorscheme''' | Visualizza lo schema in uso - ''':colorscheme''' | ||
Riga 103: | Riga 100: | ||
'''<nowiki>:</nowiki>helptags <code>.vim/doc/</code>''' | '''<nowiki>:</nowiki>helptags <code>.vim/doc/</code>''' | ||
Per ulteriori informazioni | Per ulteriori informazioni vedere: <br/> | ||
'''<nowiki>:</nowiki> | '''<nowiki>:</nowiki>help :helptags''' | ||
<code>.vim/plugin</code>: i plugin aggiunti | <code>.vim/plugin</code>: i plugin aggiunti | ||
Per ulteriori informazioni | Per ulteriori informazioni vedere: <br/> | ||
'''<nowiki>:</nowiki> | '''<nowiki>:</nowiki>help plugin''' | ||
Visualizza tutti i plugin, temi e altro caricati - ''':scriptnames''' | Visualizza tutti i plugin, temi e altro caricati - ''':scriptnames''' | ||
<code>.vim/ftdetect</code>: dove ho inserito il menu di gvim, che è ampiamente customizzabile, per evitare che gli aggiornamenti sovrascrivano l'originale in <code>$VIMRUNTIME/menu.vim</code>; in realtà ftdetect servirebbe per la sintassi dei tipi di file ma pare l'unico modo per farglielo vedere. | <code>.vim/ftdetect</code>: dove ho inserito il menu di gvim, che è ampiamente customizzabile, per evitare che gli aggiornamenti sovrascrivano l'originale in <code>$VIMRUNTIME/menu.vim</code>; in realtà <code>ftdetect</code> servirebbe per la sintassi dei tipi di file ma pare l'unico modo per farglielo vedere. | ||
Per ulteriori informazioni | Per ulteriori informazioni vedere: <br/> | ||
'''<nowiki>:</nowiki>echo $VIMRUNTIME''' | '''<nowiki>:</nowiki>echo $VIMRUNTIME''' <br/> | ||
'''<nowiki>:</nowiki> | '''<nowiki>:</nowiki>help ftdetect''' <br/> | ||
'''<nowiki>:</nowiki> | '''<nowiki>:</nowiki>help menu.vim''' | ||
<code>lessvim</code>: lo script che utilizza vim in modalità less e richiama <code>$VIMRUNTIME/macros/less.vim</code>. <br/> | <code>lessvim</code>: lo script che utilizza vim in modalità less e richiama <code>$VIMRUNTIME/macros/less.vim</code>. <br/> | ||
Tengo entrambi i file in home per via di alcune modifiche, un [[alias]] [[Bash]] fa il resto: <br/> | |||
<pre> | <pre>alias less='$HOME/.vim/lessvim'</pre> | ||
alias less='$HOME/.vim/lessvim' | |||
</pre> | |||
Lo scopo è avere <code>less</code> con gli stessi vantaggi di Vim, sebbene in certe occasioni non funzioni a dovere, una volta dentro premere il tasto '''h''' per l'help. | Lo scopo è avere <code>less</code> con gli stessi vantaggi di Vim, sebbene in certe occasioni non funzioni a dovere, una volta dentro premere il tasto '''h''' per l'help. | ||
La panoramica è ovviamente parziale e riguarda le mie modeste esigenze. | La panoramica è ovviamente parziale e riguarda le mie modeste esigenze. | ||
[[Categoria: Elaborazione_testi]] |
Versione attuale delle 19:11, 12 apr 2013
Vim Cheat Sheet |
Sommario |
Personalmente utilizzo una statusbar ben configurata, ma a qualcuno piace avere i numeri delle righe alla sinistra del testo:
visualizza numeri riga - :set number
rimuove visualizzazione - :set nonumber
C'è anche chi vuole il mouse.
abilita uso del mouse - :set mouse=a
disabilita - :set mouse=
L'unica vera comodità che trovo è nel poter ridimensionare facilmente le finestre ma di contro ha che il cursore viene spostato quando si clicca in un punto dello schermo, ed è un comportamento che detesto.
.vimrc
Il file di configurazione è una cosa molto personale, citando vimgor:
<skizzhg> vimgor, :kill_kittens
<vimgor> The Command that Cannot Be Named. :kill_kittens is what will happen if you use someone else's vimrc.
Voglio però riportare alcuni stralci del mio, in particolare:
- la statusbar che fornisce molte informazioni sul documento
set laststatus=2
set statusline=(%n)\ %F\ [%{strlen(&fenc)?&fenc:'none'},%{&ff}]%h%m%r%y%=%c,%l/%L\ %P
(fonte: Vim statusline)
- la visualizzazione dei comandi parziali, se stiamo per digitare ZZ per chiudere Vim, verrà mostrata la prima Z, in caso ci fossimo sbagliati basterà usare Esc
set showcmd
- la gestione dei buffer, ci sono vari plugin più o meno comodi o invasivi, ho preferito creare delle semplici scorciatoie. Questo è indispensabile per muoversi tra uno e l'altro senza doverlo prima salvare
set hidden
la mappatura dei tasti, <Leader> è il backslash
- L: elenca i buffer aperti e aspetta un numero per selezionarne uno
- l: li elenca soltanto
- b: passa al precedente
- f: passa al successivo
- g: alterna tra l'attuale e il precedente, stesso comportamento di Ctrl-^
- D: rimuove un buffer dalla lista
- numeri: passaggio dal buffer 1 al 10
nnoremap <Leader>L :ls<CR>:buffer<Space>
nnoremap <Leader>l :ls<CR>
nnoremap <Leader>b :bp<CR>
nnoremap <Leader>f :bn<CR>
nnoremap <Leader>g :e#<CR>
nnoremap <Leader>D :bd<CR>
nnoremap <Leader>1 :1b<CR>
nnoremap <Leader>2 :2b<CR>
nnoremap <Leader>3 :3b<CR>
nnoremap <Leader>4 :4b<CR>
nnoremap <Leader>5 :5b<CR>
nnoremap <Leader>6 :6b<CR>
nnoremap <Leader>7 :7b<CR>
nnoremap <Leader>8 :8b<CR>
nnoremap <Leader>9 :9b<CR>
nnoremap <Leader>0 :10b<CR>
- per la creazione di file HTML non include i numeri delle righe, se impostati, e usa la formattazione per mezzo di regole css al posto dei tag e attributi di formattazione pesanti e ormai deprecati
let html_number_lines=0
let html_use_css=1
- per inserire un cancelletto a inizio riga:
nmap à ^i#<ESC>
vmap à <C-V>^I#<ESC>
ora, premendo à, è possibile aggiungere un '#' all'inizio di una singola riga (modalità normale) o all'inizio di più righe (dopo averle selezionate in modalità visuale).
.vim/
Normalmente il file di configurazione e quello della cronologia risiedono nella home, mentre tutti gli eventuali plugin e documentazione, schema colori e altro vanno nella directory .vim/
con una struttura simile a /usr/share/vim/vimcurrent/
.
Per coerenza e ordine si farà in modo che i file .viminfo
e .vimrc
vengano spostati nella directory .vim/
insieme a tutto il resto.
Per .viminfo
, aggiungere la seguente riga in .vimrc
:
set viminfo='55,<55,s11,:99,h,n~/.vim/viminfo
I parametri con le relative spiegazioni si trovano nell'help:
:help 'viminfo'
Per .vimrc inserire la seguente variabile in bash_profile (o .profile):
export VIMINIT="source $HOME/.vim/vimrc"
Per ulteriori informazioni vedere:
:help VIMINIT
Gerarchia della directory .vim/
.vim/colors
: dove risiedono gli eventuali schemi colore aggiunti.
Visualizza lo schema in uso - :colorscheme
.vim/doc
: la documentazione dei plugin.
Per far sì che Vim riconosca i cambiamenti, usare il comando:
:helptags .vim/doc/
Per ulteriori informazioni vedere:
:help :helptags
.vim/plugin
: i plugin aggiunti
Per ulteriori informazioni vedere:
:help plugin
Visualizza tutti i plugin, temi e altro caricati - :scriptnames
.vim/ftdetect
: dove ho inserito il menu di gvim, che è ampiamente customizzabile, per evitare che gli aggiornamenti sovrascrivano l'originale in $VIMRUNTIME/menu.vim
; in realtà ftdetect
servirebbe per la sintassi dei tipi di file ma pare l'unico modo per farglielo vedere.
Per ulteriori informazioni vedere:
:echo $VIMRUNTIME
:help ftdetect
:help menu.vim
lessvim
: lo script che utilizza vim in modalità less e richiama $VIMRUNTIME/macros/less.vim
.
Tengo entrambi i file in home per via di alcune modifiche, un alias Bash fa il resto:
alias less='$HOME/.vim/lessvim'
Lo scopo è avere less
con gli stessi vantaggi di Vim, sebbene in certe occasioni non funzioni a dovere, una volta dentro premere il tasto h per l'help.
La panoramica è ovviamente parziale e riguarda le mie modeste esigenze.