VimCS: Configurazione
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 commentare una o più linee si può inserire:
nmap à ^i#<ESC>
vmap à <C-V>^I#<ESC>
ora, premendo à, è possibile aggiungere un cancelletto '#' 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.