Как создать символическую ссылку на файлы конфигурации MacVim?

Я хочу сохранить свои файлы конфигурации в системе управления версиями и создать на них символическую ссылку, чтобы они использовались MacVim. Глядя на :scriptnamesя вижу, что vimrc и gvimrc используются в:

/Applications/MacVim.app/Contents/Resources/vim/vimrc

Мои файлы vim с исходным кодом находятся в:

~/Programming/Personal(и gvim, и vimrc здесь)

Как настроить симлинк? Является

ln -nfs ~/Programming/Personal/vimrc /Applications/MacVim.app/Contents/Resources/vim

и

ln -nfs ~/Programming/Personal/gvimrc /Applications/MacVim.app/Contents/Resources/vim

правильный способ сделать это?

Ответы (1)

Вы неправильно понимаете, как (Mac)Vim обрабатывает свою конфигурацию. Немного упрощая, в OS X есть три уровня:

  • файлы vimrcи gvirmcявляются $VIMRUNTIMEзначениями по умолчанию для установки Vim . Для MacVim это указывает на пакет приложений — файлы, которые вы нашли. Они будут перезаписываться каждый раз при обновлении MacVim.
  • файлы vimrcи gvimrcявляются $VIMобщесистемными настройками . Это предназначено для того, чтобы предоставить системному администратору возможность установить значения по умолчанию. Если явно не задано, $VIMравно $VIMRUNTIME.
  • наконец, файлы ~/.vimrcи ~/.gvirmcявляются вашей личной конфигурацией . Это файлы, которые вы, как отдельный пользователь Vim, должны настраивать.

Эти файлы конфигурации загружаются в указанном выше порядке, сверху вниз. Чтобы использовать вашу личную конфигурацию из другого каталога (например, для контроля версий), просто символизируйте их местоположение с каноническими файлами личной конфигурации, т.е.

ln -s /your/configuration/dir/vimrc ~/.vimrc
ln -s /your/configuration/dir/gvimrc ~/.gvimrc
Вот как я это делаю и работает отлично. Кроме того, моя конфигурация vim также используется командной строкой vim и MacVim.