Подтвердить что ты не робот

Как поделиться одним файлом vimrc среди нескольких клиентов?

Я не очень аккуратный человек время от времени, и я часто оказываюсь в ситуации потери моего старого полностью измененного файла vimrc и необходимости начать все заново. Или иметь разные версии файлов vimrc для разных клиентов. Поскольку этот беспорядок выходит из-под меня, я хотел бы знать, есть ли хороший способ управления моим файлом vimrc.

Моя первая инициатива ставит мой _vimrc на подрывную деятельность (Google Code), и я намерен его поддерживать. Другие идеи приветствуются.

Update

Я решил использовать следующее решение:

  • Загрузите .vimrc и .gvimrc в репозиторий онлайн-кода в каталоге с именем Vim. Используйте имя файла _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 жалуется на уже существующие файлы, но вы можете добавить их в список игнорирования.

4b9b3361

Ответ 1

Я использую 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 - всего лишь один пример. Службы OpenSource, такие как http://sparkleshare.org/ и http://one.ubuntu.com существуют, но вам предлагается искать в Интернете решение, которое наилучшим образом соответствует вашим потребностям.

Ответ 2

Я помещаю эти файлы в систему управления версиями, в частности, подрывную деятельность, но неважно, какой из них. Это дает мне историю всех таких файлов конфигурации, и это просто вопрос проверки файла конфигурации, когда я хочу, чтобы он был на другом/другом компьютере или пользовательском аккаунте.

Ответ 3

Используйте git. У меня есть файлы .vim и .vimrc в репозитории git, и я их разворачиваю для разных систем. Поэтому у меня есть ветка для lappy, одна ветка для debian-based, одна для RH и т.д.

Я запускаю репозиции на все мои серверы и объединяю изменения вокруг, как я считаю нужным. Затем, когда я потеряю один, любой из остальных будет служить..vim/.vimrc - отличные примеры файлов, которые должны быть в DVCS.

Ответ 4

Что лучше всего подходит для меня, это поместить следующее в мой файл .vimrc:

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, если соединение с Интернетом не существует.

Требование только (кроме активного интернет-соединения) вам нужно CURL.


Если вы не хотите загружать последний .vimrc каждый раз, то просто закомментируйте строку curl:

" let $cloudurl = '!curl https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o '. $localcloudpath

BitBucket также является личным предпочтением, потому что я могу легко редактировать файл в Интернете без каких-либо обязательств, но вы можете разместить свой файл .vimrc в любом месте с общедоступным URL (Dropbox, Google Drive, GitHub и т.д.)


ОБНОВЛЕНИЕ (16/10/2017)

Используя приведенную ниже обновленную команду curl, всегда будет получать свежий .vimrc из битбакет. Он также будет отключен и будет использовать последний загруженный .vimrc_cloud, если вы находитесь в автономном режиме или на медленном подключении.

let $cloudurl = '!curl -H "Cache-Control: no-cache" --max-time 10 https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o '. $localcloudpath

Ответ 5

Как и другие, сказали: используйте систему контроля версий.

Вот такой проект, легко развивается и расширяется: http://github.com/ryanb/dotfiles

Он обрабатывает не только vim.rc, но и всякую конфигурацию и поставляется с настройкой script.

Ответ 6


Существует также очень хороший способ установки плагинов с помощью управления версиями, так как большая часть плагина VIM доступна в GITHUB, это также помогает. См. Эту статью, в которой рассказывается, как сохранить файл .VIM с помощью GIT и загрузить плагин в качестве дополнительного модуля с помощью плагина PATHOGEN.

Используйте GIT для синхронизации плагинов VI

В дополнение к тому, что упоминается в vimcast, и я цитирую блог.

  • Храните ваши файлы в git
  • Установка плагинов в качестве подмодулей с помощью этих команд
    git subodule add http://github.com/tpope/vim-fugitive.git bundle/fugitive

Ответ 7

Если вы используете vundle, вы можете сделать это таким образом. Git поддерживает vimrc и все остальные настройки в синхронизации, а vundle отслеживает ваши плагины/скрипты.

Синхронизация vim с vundle и Git

Ответ 8

Я сохраняю копию своих точечных файлов в документах google.