2011-09-24 15 views
9

Generalmente su un sistema unix, esiste un file globale vimrc nella directory /etc o /etc/vim. Puoi anche avere un file .vimrc nella tua home directory che può personalizzare la tua sessione vi.Alcune domande sulla configurazione di .vimrc e vim

È possibile avere un .vimrc altrove nell'albero delle directory in modo da poter utilizzare diverse proprietà vi in ​​diverse directory? Questo sarebbe conveniente perché le proprietà dell'editor che ti aiutano a modificare Python più velocemente sono diverse da quelle per la modifica, ad esempio, dell'HTML.

Questo tipo di cose non sembra funzionare come predefinito sui miei mac o linux lappies. C'è un modo per farlo accadere?

+0

ci sono diversi plugin che fanno questo. vedi anche http://stackoverflow.com/questions/2564664/how-to-write-a-vimrc-file-that-automatically-applies-only-to-a-specific-folder – sehe

risposta

6

Vim ha costruito la funzionalità per questo:

:se exrc 
Enables the reading of .vimrc, .exrc and .gvimrc in the current 
directory. If you switch this option on you should also consider 
setting the 'secure' option (see |initialization|). Using a local 
.exrc, .vimrc or .gvimrc is a potential security leak, use with care! 
also see |.vimrc| and |gui-init|. 

Vedi http://damien.lespiau.name/blog/2009/03/18/per-project-vimrc/

Per un corretto sostegno ai progetti, ci sono diversi plugin hanno caratteristiche simili. (che non uso, quindi non posso raccomandare nessuno).

5

Se questa è davvero una questione di impostazioni diverse per diversi tipi di file (piuttosto che posizioni diverse su disco), la cosa corretta da fare è inserire questi file in ~/.vim/ftplugin. Ad esempio, questo è il contenuto del mio ~/.vim/ftplugin/haskell.vim:

setlocal autoindent 
setlocal noexpandtab 
setlocal tabstop=4 
setlocal softtabstop=4 
setlocal shiftwidth=4 

Per sapere il nome giusto per lo script, è sufficiente aprire il tipo di file che si desidera modificare e utilizzare il comando :set ft? (abbreviazione di :set filetype?). Sono disponibili molte più informazioni tramite :help ftplugin.

+0

Mi piacerebbe accettare entrambi, perché la tua risposta e sehe sono molto utili. Grazie! – ncmathsadist