2011-09-24 5 views
9

Как правило, в системе unix есть глобальный файл vimrc в каталоге /etc или /etc/vim. Вы также можете иметь файл .vimrc в своем домашнем каталоге, который может настроить сеанс vi.Некоторые вопросы по конфигурации .vimrc и vim

Возможно ли иметь .vimrc в другом месте в дереве каталогов, чтобы вы могли использовать разные свойства vi в разных каталогах? Это было бы удобно, потому что свойства редактора, которые помогут вам быстро редактировать Python, отличаются от свойств редактора, например, HTML.

Такое поведение, похоже, не работает по умолчанию на моих mac или linux lappies. Есть ли способ сделать это возможным?

+0

Есть несколько плагинов, которые это делают. см. также http://stackoverflow.com/questions/2564664/how-to-write-a-vimrc-file-that-automatically-applies-only-to-a-specific-folder – sehe

ответ

6

Vim имеет встроенную функциональность для этого:

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

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

Для правильной поддержки проекта, есть несколько плагинов, имеют сходные черты. (который я не использую, поэтому я не могу рекомендовать его).

5

Если это действительно вопрос о том, как установить разные параметры для разных типов файлов (а не на разных местах на диске), то правильная вещь - поставить эти файлы в ~/.vim/ftplugin. Например, это содержание моего ~/.vim/ftplugin/haskell.vim:

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

Чтобы узнать правильное имя для сценария, просто откройте тип файла, который вы хотите редактировать и использовать :set ft? команды (сокращенно :set filetype?). Гораздо больше информации можно получить через :help ftplugin.

+0

Я хотел бы принять и то, и другое, потому что ваш ответ и sehe's очень полезны. Спасибо! – ncmathsadist

Смежные вопросы