Некоторые вопросы по конфигурации .vimrc и vim - PullRequest
9 голосов
/ 25 сентября 2011

Обычно в системе Unix в каталоге /etc или /etc/vim есть глобальный файл vimrc. У вас также может быть файл .vimrc в вашем домашнем каталоге, который может настроить ваш сеанс vi.

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

Похоже, что подобные вещи не работают по умолчанию на моем Mac или Linux Linux. Есть ли способ сделать это?

Ответы [ 2 ]

6 голосов
/ 25 сентября 2011

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 голосов
/ 25 сентября 2011

Если на самом деле речь идет о наличии разных настроек для разных типов файлов (а не в разных местах на диске), то правильное решение - поместить эти файлы в ~/.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.

...