VimCS: Configurazione

Versione del 22 dic 2010 alle 02:20 di Skizzhg (discussione | contributi) (config vimcs)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vim Cheat Sheet

Sommario

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

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.