Как разделить один файл vimrc между несколькими клиентами?
Я не очень упорядоченный человек время от времени, и я часто оказываюсь в ситуации потери моего старого полностью измененного файла vimrc и необходимости начинать все сначала. Или иметь разные версии файлов vimrc на разных клиентах. Поскольку этот беспорядок выходит из-под контроля для меня, я хотел бы знать, есть ли хороший способ управления моим файлом vimrc.
моя первая инициатива-поставить мой _vimrc на subversion (код Google), и я намерен его поддерживать. Другие идеи добро пожаловать.
обновление
я согласился со следующим решением:
загрузить
.vimrcи.gvimrcв онлайн-хранилище кода в каталог с именемVim. Используйте filename_vimrcи_gvimrcчтобы они не были скрыты, и для совместимости с Windows.проверка репозитория в целевой системе
на Mac OSX/Linux создать символ ссылки:
~ $ ln -s my_repository/Vim/_vimrc $HOME/.vimrc
~ $ ln -s my_repository/Vim/_gvimrc $HOME/.gvimrc
в Windows я проверяю папку Vim поверх той, что находится в каталоге Program Files. SVN жалуется на уже существующие файлы там, но вы можете добавить их в список игнорирования.
8 ответов:
я использую Dropbox. Я создал папку
vimв моем dropbox, который содержит мой.vimrc(на самом деле:vimrc.vim) иcolors,pluginи т. д. справочники.Dropbox помещает все эти файлы на все мои компьютеры (дом, работа, ноутбук, Bootcamp), поэтому каждый раз, когда я хочу изменить свой
vimrc, Я могу сделать это, и мне не нужно беспокоиться о копировании его в правильный каталог или проверить файл из SVN или что-нибудь еще. Все случается автоматически!моя
.vimrcсодержит только то, что необходимо для загрузки материала, который у меня есть в моем Dropbox. На OSX и Linux, это выглядит так:set runtimepath^=~/Dropbox/vim source ~/Dropbox/vim/vimrc.vimна Windows, как это:
set runtimepath^=$HOME/My\ Documents/My\ Dropbox/vim source $HOME\My Documents\My Dropbox\vim\vimrc.vimи это все!
(на самом деле, я поставил
vimrcвыше в моем Dropbox, так что я не должен помнить их всякий раз, когда я настраиваю новый компьютер или переустановить старый.)бесплатная версия Dropbox даст вам 30 дневная история изменений, платная даст вам полную историю изменений. Обратите внимание, что если вы находитесь на Linux, это проще всего, если вы используете GNOME, для которого Dropbox имеет хороший клиент.
Условные Параметры
если у вас есть небольшие изменения конфигурации, которые вы хотели бы использовать на разных машинах, это удобное решение:
создать небольшую функцию в каждом из ваших .файлы vimrc для возврата типа системы, в которой вы находитесь:
fun! MySys() return 'linux' endfunзатем в мировой vimrc.vim файл:
if MySys() == "linux" set backupdir=./.backup,/tmp set directory=./.backup,/tmp elseif MySys() == "windows" set backupdir=$HOME/AppData/Local/backup,$HOME/AppData/Local/tmp set directory=$HOME/AppData/Local/backup,$HOME/AppData/Local/tmp endifАльтернативы Dropbox
есть много облачных систем хранения и синхронизации услуг, Dropbox является лишь одним примером. Услуги с открытым исходным кодом, такие какhttp://sparkleshare.org/ и http://one.ubuntu.com существуют, но вам рекомендуется искать в Интернете решение, которое будет соответствовать вашим потребностям лучше всего.
Я поместил эти файлы в систему управления версиями, в частности subversion, но это не имеет значения. Это дает мне историю всех таких файлов конфигурации, и это просто вопрос проверки файла конфигурации, когда я хочу, чтобы тот же самый на новой/другой машине или учетной записи пользователя.
использовать git. У меня есть .ВИМ И.vimrc файлы в Git РЕПО, и я разветвляю их для разных систем. Так у меня на ветке на машинку, один филиал на базе Debian , для резус и др.
Я запускаю репозитории на все мои серверы и объединяю изменения вокруг, как я считаю нужным. Тогда, когда я потеряю одного, любой из остальных будет служить. .энергия./vimrc являются отличными примерами файлов, которые должны быть в DVCS.
что лучше всего работает для меня, чтобы положить следующее в мой
.vimrcfile:set nocompatible let $localcloudpath = $MYVIMRC . '_cloud' let $cloudurl = '!curl https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o '. $localcloudpath silent execute $cloudurl source $localcloudpathтаким образом, каждый раз, когда я запускаю vim, он загружает и использует последний
.vimrcфайл из моего репозитория BitBucket. Он будет использовать последний загруженный.vimrcЕсли подключение к интернету не существует.The только требования (помимо активного подключения к интернету) вам нужно CURL установленный.
если вы не хотите, чтобы загрузить последнюю
.vimrcкаждый раз, а затем просто прокомментировать завиток линии:" let $cloudurl = '!curl https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o '. $localcloudpathBitBucket также является личным предпочтением, потому что я могу легко редактировать файл в Интернете, не совершая ничего, но вы можете разместить свой
.vimrcфайл в любом месте с общедоступным URL (Dropbox, Google Drive, GitHub и т. д.)
обновление (16/10/2017)
используя приведенную ниже обновленную команду curl, вы всегда будете получать свежие
.vimrcиз bitbucket. Он также будет тайм-аут и использовать последний загруженный.vimrc_cloudесли вы находитесь в автономном режиме или медленное соединение.let $cloudurl = '!curl -H "Cache-Control: no-cache" --max-time 10 https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o '. $localcloudpath
Как говорили другие: используйте систему контроля версий.
вот такой проект, легко раскошелиться и расширить:http://github.com/ryanb/dotfiles
Он не только обрабатывает vim.rc, но все виды конфигурации и поставляется со скриптом установки.
Существует также очень хороший способ установки плагинов с помощью управления версиями, так как большинство плагинов VIM доступны на GITHUB, это также помогает. Пожалуйста, смотрите эту статью, которая говорит вам, как сохранить ваш .VIM файл синхронизируется с помощью GIT, и загрузить плагин в качестве подмодуля с помощью плагина патогена.используйте GIT для синхронизации плагинов VI
вкратце о том, что упоминается в vimcast, и я цитирую из Блог.
- держите ваши dotfiles в git
- установите плагины в качестве подмодулей с помощью этой команды
подмодуль git add http://github.com/tpope/vim-fugitive.git бандл / беглец
Если вы используете vundle вы можете сделать это таким образом. Git держит vimrc и все другие настройки в синхронизации и vundle отслеживает ваши плагины/скрипты.
Comments