VimCS: Configurazione
Vim Cheat Sheet |
Sommario |
Configurazione
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, ho le convulsioni al solo pensiero :)
abilita uso del mouse - :set mouse=a
disabilita - :set mouse=
.vimrc
Il file di configurazione è una cosa molto personale, citando vimgor, il bot del canale IRC:
<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 script 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 :buffers<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 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
.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/vim72/
.
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:
:h 'viminfo'
Per .vimrc inserire la seguente variabile in bash_profile (o .profile):
export VIMINIT="source $HOME/.vim/vimrc"
Per ulteriori informazioni si veda:
:h VIMINIT
Gerarchia della directory .vim/
.vim/colors
: dove risiedono gli eventuali schemi colori 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 si veda:
:h :helptags
.vim/plugin
: i plugin aggiunti
Per ulteriori informazioni si veda:
:h 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 si veda:
:echo $VIMRUNTIME
:h ftdetect
:h menu.vim
lessvim
: lo script che utilizza vim in modalità less e richiama $VIMRUNTIME/macros/less.vim
.
Lo tengo in home per via di una lieve modifica (opzione -n) che evita di aprire un file .swp
e mantenere quindi il file impegnato, 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.