VimCS: Configurazione: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
{{Template:VimCS}}
{{Template:VimCS}}
= Configurazione =
= Configurazione =
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, ho le convulsioni al solo pensiero :) <br/>
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 bot del canale IRC: <br/>
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 26:




* 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 script più o meno comodi o invasivi, ho preferito creare delle semplici scorciatoie
* 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
questo è indispensabile per muoversi tra uno e l'altro senza doverlo prima salvare
Riga 44: Riga 44:
* 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 ctrl-^
* 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 :buffers<cr>:buffer<space> <br/>
'''nnoremap <Leader>L :ls<CR>:buffer<Space> <br/>
'''nnoremap <Leader>l :ls<cr>''' <br/>
'''nnoremap <Leader>l :ls<CR>''' <br/>
'''nnoremap <Leader>b :bp<cr>''' <br/>
'''nnoremap <Leader>b :bp<CR>''' <br/>
'''nnoremap <Leader>f :bn<cr>''' <br/>
'''nnoremap <Leader>f :bn<CR>''' <br/>
'''nnoremap <Leader>g :e#<cr>''' <br/>
'''nnoremap <Leader>g :e#<CR>''' <br/>
'''nnoremap <Leader>D :bd<cr>''' <br/>
'''nnoremap <Leader>D :bd<CR>''' <br/>
'''nnoremap <Leader>1 :1b<cr>''' <br/>
'''nnoremap <Leader>1 :1b<CR>''' <br/>
'''nnoremap <Leader>2 :2b<cr>''' <br/>
'''nnoremap <Leader>2 :2b<CR>''' <br/>
'''nnoremap <Leader>3 :3b<cr>''' <br/>
'''nnoremap <Leader>3 :3b<CR>''' <br/>
'''nnoremap <Leader>4 :4b<cr>''' <br/>
'''nnoremap <Leader>4 :4b<CR>''' <br/>
'''nnoremap <Leader>5 :5b<cr>''' <br/>
'''nnoremap <Leader>5 :5b<CR>''' <br/>
'''nnoremap <Leader>6 :6b<cr>''' <br/>
'''nnoremap <Leader>6 :6b<CR>''' <br/>
'''nnoremap <Leader>7 :7b<cr>''' <br/>
'''nnoremap <Leader>7 :7b<CR>''' <br/>
'''nnoremap <Leader>8 :8b<cr>''' <br/>
'''nnoremap <Leader>8 :8b<CR>''' <br/>
'''nnoremap <Leader>9 :9b<cr>''' <br/>
'''nnoremap <Leader>9 :9b<CR>''' <br/>
'''nnoremap <Leader>0 :10b<cr>'''
'''nnoremap <Leader>0 :10b<CR>'''




* per la creazione di file html usa la formattazione per mezzo di regole css al posto
* 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'''
Riga 73: Riga 72:


== .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/vim72/</code>. <br/>
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.


Riga 81: Riga 80:


I parametri con le relative spiegazioni si trovano nell'help: <br/>
I parametri con le relative spiegazioni si trovano nell'help: <br/>
'''<nowiki>:</nowiki>h 'viminfo''''
'''<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):
  export VIMINIT="source $HOME/.vim/vimrc"
  export VIMINIT="source $HOME/.vim/vimrc"


Per ulteriori informazioni si veda: <br/>
Per ulteriori informazioni vedere: <br/>
'''<nowiki>:</nowiki>h VIMINIT'''
'''<nowiki>:</nowiki>help VIMINIT'''




== Gerarchia della directory <code>.vim/</code> ==
== Gerarchia della directory <code>.vim/</code> ==
<code>.vim/colors</code>: dove risiedono gli eventuali schemi colori aggiunti.
<code>.vim/colors</code>: dove risiedono gli eventuali schemi colore aggiunti.


Visualizza lo schema in uso - ''':colorscheme'''
Visualizza lo schema in uso - ''':colorscheme'''
Riga 101: Riga 100:
'''<nowiki>:</nowiki>helptags <code>.vim/doc/</code>'''
'''<nowiki>:</nowiki>helptags <code>.vim/doc/</code>'''


Per ulteriori informazioni si veda: <br/>
Per ulteriori informazioni vedere: <br/>
'''<nowiki>:</nowiki>h :helptags'''
'''<nowiki>:</nowiki>help :helptags'''




<code>.vim/plugin</code>: i plugin aggiunti
<code>.vim/plugin</code>: i plugin aggiunti


Per ulteriori informazioni si veda: <br/>
Per ulteriori informazioni vedere: <br/>
'''<nowiki>:</nowiki>h plugin'''
'''<nowiki>:</nowiki>help plugin'''


Visualizza tutti i plugin, temi e altro caricati - ''':scriptnames'''
Visualizza tutti i plugin, temi e altro caricati - ''':scriptnames'''
Riga 115: Riga 114:
<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à ftdetect servirebbe per la sintassi dei tipi di file ma pare l'unico modo per farglielo vedere.


Per ulteriori informazioni si veda: <br/>
Per ulteriori informazioni vedere: <br/>
'''<nowiki>:</nowiki>echo $VIMRUNTIME'''
'''<nowiki>:</nowiki>echo $VIMRUNTIME''' <br/>
'''<nowiki>:</nowiki>h ftdetect'''
'''<nowiki>:</nowiki>help ftdetect''' <br/>
'''<nowiki>:</nowiki>h menu.vim'''
'''<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/>
Lo tengo in home per via di una lieve modifica (opzione -n) che evita di aprire un file <code>.swp</code> e mantenere quindi il file impegnato, un alias bash fa il resto: <br/>
Tengo entrambi i file in home per via di alcune modifiche, un alias bash fa il resto: <br/>
  alias less='$HOME/.vim/lessvim'
  alias less='$HOME/.vim/lessvim'



Versione delle 20:46, 8 ago 2012

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.
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


.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.