Каков наилучший способ синхронизировать мой vimrc с несколькими компьютерами, у меня есть несколько различных установок Linux и Windows, к которым я хотел бы синхронизироваться, и предпочел бы полагаться на какую-то облачную систему. В настоящее время я использую Dropbox, но кажется, что Dropbox будет синхронизировать только вещи на самом деле в папке Dropbox. Я бы предпочел, чтобы это происходило в фоновом режиме, но если мне нужно будет запустить скрипт, это не будет проблемой.
2 ответа
Я храню все мои точечные файлы (включая мой .vimrc и другие мои файлы .vim) в репозитории git. Затем у меня есть скрипт, который создает символические ссылки в моем домашнем каталоге на все файлы конфигурации в моем git-репозитории. Пока это не слишком много файлов, я думаю, что вы могли бы вручную генерировать эти символические ссылки, если бы пришлось. Хорошая вещь в этой настройке состоит в том, что когда я загружаюсь в репозиторий config, все мои файлы конфигурации в моем домашнем каталоге обновляются, так как они являются просто символическими ссылками. Вы можете сделать то же самое с Dropbox, имея символические ссылки в папке Dropbox. Я бы порекомендовал написать скрипт, который может сканировать подпапку dotfiles в вашей папке dropbox и генерировать необходимые ссылки. Поскольку вы работаете как в Windows, так и в Linux, вам могут потребоваться два сценария, один из которых использует mklink
а другой - соответственно ln -s
. Для получения дополнительной информации о том, как это можно сделать, ознакомьтесь с этой статьей Lifehacker . Если у вас есть эти ссылки (или ваш сценарий генерирует ссылки), когда dropbox автоматически обновляет ваши файлы, изменения будут происходить автоматически на всех ваших компьютерах. Единственный улов заключается в том, что если вы добавляете новый файл (а не обновляете существующий), вам необходимо помнить о необходимости повторного запуска сценария символической ссылки.
Если у вас всегда есть 1 источник, вы можете написать быстрый скрипт, чтобы скопировать его своим клиентам, а затем поместить его в работу cron.