vimrc для кроссплатформенности и синхронизации с Dropbox. - PullRequest
8 голосов
/ 20 июля 2010

Я уже использовал vim / gVim на моей Linux-машине, и у меня также есть Windows-машина.В этой машине с Windows я в основном блокнот ++.

Я хотел бы сохранить все свои настройки .vimrc и папку .vim в Dropbox и создать символические ссылки в Linux, указывающие на них, и они делают то же самоев моей машине с Windows.

У меня есть много "домашних обозначений ярлыков" (не, если это правильное имя) ~ в моей конфигурации, и я хотел бы знать, записывает ли, например, $ HOMEвместо ~ это сработает: таким образом, я также могу создать несколько символических ссылок в Windows, которые указывают на эти файлы (я использую Windows 7, поэтому мой дом - c: \ Users \ username).

Есть ли другие подводные камни или рекомендации при создании кросс-платформ vimrc с Dropbox?

Ответы [ 3 ]

7 голосов
/ 20 июля 2010

Я делаю кучу настроек моего .vimrc, но все это основано на возможностях, а не на платформе.

Я проверяю различные флаги has("gui_*"), а также проверяю has("unix").Таким образом, я избегаю проблем с путями, зависящими от платформы.

5 голосов
/ 20 июля 2010

Это именно то, что я делаю, и это работает как обаяние для меня. Единственное место, где я использую $HOME вместо ~, - это каталоги резервных копий, но это прекрасно работает. Основная проблема, с которой я сталкиваюсь, заключается в том, что редактирование файла .vimrc в Windows никогда не работает должным образом, поэтому я просто изменяю его в OS X.

3 голосов
/ 20 июля 2010

Если вы используете vim из Cygwin, вы можете легко отличить платформу внутри файла .vimrc следующим образом:

let s:sys=system('uname -s | perl -pe "chomp"')
if s:sys == "Linux"
  " do Linux stuff here
endif

и аналогичные для s:sys == "Cygwin_NT". Если вы используете нативно скомпилированный vim под Win, например, Gvim, вам придется найти другой системный вызов, который понимают как ваша оболочка Linux, так и команда Win.

...