我有时不是一个非常有秩序的人,我经常发现自己处于丢失旧的完全调整的vimrc文件并且不得不重新开始的情况。或者在不同的客户端上使用不同版本的vimrc文件。由于这个烂摊子对我来说已经失控,我想知道是否有一种管理我的vimrc文件的好方法。
我的第一个举措是将我的_vimrc放在subversion(Google Code)上,我打算维护它。欢迎其他想法。
我决定使用以下解决方案:
将.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抱怨已存在的文件,但您可以将其添加到忽略列表中。
答案 0 :(得分:84)
我使用Dropbox。我在我的保管箱中创建了一个文件夹vim
,其中包含我的.vimrc
(实际为:vimrc.vim
)和colors
,plugin
等目录。< / p>
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只是一个例子。存在http://sparkleshare.org/和http://one.ubuntu.com等开源服务,但我们鼓励您在互联网上搜索最符合您需求的解决方案。
答案 1 :(得分:20)
我把这些文件放在一个源代码控制系统中,具体是颠覆,但是哪个并不重要。 这给了我所有这些配置文件的历史记录,只需要在新的/其他机器上使用相同的配置文件或useraccount时检查配置文件。
答案 2 :(得分:13)
使用git。我在git repo中有我的.vim和.vimrc文件,我将它们分支给不同的系统。所以我在lappy的分支上,一个基于debian的分支,一个基于RH的分支等。
我将存储库发送到我的所有服务器上,然后根据需要合并更改。然后,当我失去一个,任何其他人将服务。 .vim / .vimrc是应该在DVCS中的文件的绝佳示例。
答案 3 :(得分: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时,它都会下载并使用我的BitBucket存储库中的最新 .vimrc
文件。如果不存在与互联网的连接,它将使用上次下载的.vimrc
。
唯一要求(除了有效的互联网连接)您需要安装CURL。
如果您不想每次都下载最新的.vimrc
,那么只需注释掉卷曲线:
" let $cloudurl = '!curl https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o '. $localcloudpath
BitBucket 也是个人偏好,因为我可以轻松地在线编辑文件而无需提交任何内容,但您可以使用可公开访问的网址(Dropbox,Google)随身携带.vimrc
个文件Drive,GitHub等。)
更新(16/10/2017)
使用以下更新的curl命令将始终从bitbucket获得新的.vimrc
。如果您处于离线状态或连接速度较慢,它也会超时并使用上次下载的.vimrc_cloud
。
let $cloudurl = '!curl -H "Cache-Control: no-cache" --max-time 10 https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o '. $localcloudpath
答案 4 :(得分:3)
答案 5 :(得分:2)
还有一种使用Version Control安装插件的非常好的方法,因为大多数VIM插件在GITHUB上都可用,它也有帮助。
请参阅此文章,该文章告诉您如何使用GIT保持.VIM文件同步,并在PATHOGEN插件的帮助下将插件作为子模块加载。
Use GIT for Syncing VI plugins
除了vimcast中提到的内容,我引用了博客。
答案 6 :(得分:1)
如果你正在使用vundle,你可以这样做。 Git保持vimrc和所有其他设置同步和vundle跟踪你的插件/脚本。
答案 7 :(得分:0)
我在google docs上保留了点文件的副本。