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


640   8  
vim

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.

что лучше всего работает для меня, чтобы положить следующее в мой .vimrc file:

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 '. $localcloudpath

BitBucket также является личным предпочтением, потому что я могу легко редактировать файл в Интернете, не совершая ничего, но вы можете разместить свой .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, и я цитирую из Блог.

  1. держите ваши dotfiles в git
  2. установите плагины в качестве подмодулей с помощью этой команды
    подмодуль git add http://github.com/tpope/vim-fugitive.git бандл / беглец

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

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

Я храню копию своего dot-files в Google docs.

Comments

    Ничего не найдено.