VimCS: Configurazione

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
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.