Vim是一个强大的文本编辑器。良好的配置更能便利对Vim的使用。有时候,我们会在几台不同的电脑上使用Vim. 例如,我们可能在自己的电脑和公司的电脑上都安装了Vim. 有时候,我们需要实现,如果我们配置好了其中一个Vim环境,就能轻松的把这些配置很容易的复制到另外一台机器,甚至于我们更新其中一台机器甚至几台机器的配置之后,可以很容易的将其同步到其他机器。好在现在有较多的云存储的选择。利用它们,加上一个版本控制软件,我们就可以很容易的做到这一点。

本文中,作者选择了百度云作为云存储,而版本控制,则选择了git. 本文针对Windows下面的GVim.

首先,我们需要在每台机器上都安装百度云同步盘和git客户端

  百度云同步盘:http://pan.baidu.com/download

  git 客户端:http://www.git-scm.com/downloads

第二,在每台机器上,我们需要如下的目录结构

  vim文件夹:指安装vim的目录。

  云盘文件夹:指在百度同步盘中指定的本机的同步目录。

第三,如果没有配置过git, 运行git bash, 如下配置git. 同样,对于云同步盘,也要指定本地同步目录。

  git config --global user.name "your name"
  git config --global user.email "your email"

第四,在任一台机器上,执行如下操作,创建vim配置文件的仓库

  1. 运行git bash, 执行如下命令,创建云同步盘中的目录

    cd 云盘文件夹  (例如,/c/YunDisk/GitRepositories/)
    mkdir vim
    cd vim
    git init --bare

  2. 以管理员权限运行git bash, 执行如下命令,将vim配置文件加入版本控制

    cd vim文件夹 (例如,“/c/Program Files (x86)/Vim")
    git init
    git add _vimrc
    git commit -m "first version."
    git remote add origin 云盘文件夹  (例如,/c/YunDisk/GitRepositories/)
    git push -u origin master

  至此,我们已经将本地的vim配置文件加入了版本控制,并且同步到了云同步盘中。

第五,在其他机器上,执行如下操作,将云同步盘中的vim配置文件同步到vim文件夹中

  以管理员权限运行git bash, 执行如下命令

    cd vim文件夹 (例如,“/c/Program Files (x86)/Vim")
    git clone 云盘文件夹  (例如,/c/YunDisk/GitRepositories/)
    git remote add origin 云盘文件夹  (例如,/c/YunDisk/GitRepositories/)
    git pull origin master

  到现在为止,所有机器上的vim配置文件都加入到了版本控制中,并且都进行了同步

第六,当修改了任意一台机器上的vim配置,进行如下操作将其同步到云同步盘

  以管理员权限运行git bash, 执行如下命令,将vim配置文件加入版本控制

    cd vim文件夹 (例如,“/c/Program Files (x86)/Vim")
    git add _vimrc
    git commit -m "your comments."
    git pull origin master    // 先同步其他机器的更新到本机,如果有冲突,要处理冲突
    git push origin master   //提交本机的更新

第七,对于其他机器,执行如下操作来同步这些更新

  以管理员权限运行git bash, 执行如下命令,将vim配置文件加入版本控制

    cd vim文件夹 (例如,“/c/Program Files (x86)/Vim")
    git pull origin master

至此,我们就可以在自己的所有机器上同步vim配置文件了。

Vim实用技巧系列 - 利用百度云和git实现vim配置多机共享的更多相关文章

  1. Vim实用技巧系列 - 开篇

    作者使用Vim已经有一段时间了,深深觉得它是一个非常强大的编辑器,使用习惯之后效率很高.最大的缺点是学习曲线比较陡峭.因此作者希望分享一些自己在实际使用中的经验来帮助初学者,同时也帮助作者自己学习. ...

  2. Vim实用技巧系列 - 搜索

    最近发现了一个很好的VIM资源,best of vim tips, 展示了一系列很有用的vim 技巧.博主会逐个翻译介绍这些技巧. 来源: http://rayninfo.co.uk/vimtips. ...

  3. Vim实用技巧系列 - 代码注释

    在写代码时候,有时候需要临时注释掉一部分代码,之后还要取消这些注释.真麻烦.那么,用Vim怎么做这件事呢? 第一种方法,块模式.                 再次声明,本系列全部以windows下 ...

  4. Vim实用技巧系列 - tab和空格的转换

    有时候,我们会修改一些代码,而这些代码中的tab设定和我们自己的设定不一样.例如,我们自己的设定是以两个空格来代替tab,而要修改的代码则是使用tab.那么,我们应该怎样快速的将又有的tab转换为空格 ...

  5. ###《VIM实用技巧》

    ###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...

  6. vim实用技巧总结

    1. 单个文件内实用mark来帮助跳转以及一些宏操作.(注意:mark不能用于多文件之间的跳转)mch 设置宏,保存到ch标记(不是ch寄存器)'ch 跳转到标记的行首`ch 跳转到标记的字符处另:为 ...

  7. 很全面的WinRAR实用技巧系列 - imsoft.cnblogs

    WinRAR也可以管理我的桌面时间长了,桌面上堆的东西实在太多,平时该如何管理呢?安装了WinRAR的朋友可以请它来帮忙,用它管理清除无用的桌面文件或图标. 以XP系统为例,系统所在目录是“c:\wi ...

  8. 《Vim实用技巧》第2版读书笔记

    学习前的建议: 一.如果你需要一个功能强大的文本编辑器,速度飞快.使用方便.代码补全.编程强大.定制性强,Vim就是你需要的: 二.学习入门曲线陡峭,但是使用后期异常简单,效率超高: 三.号称可以跟上 ...

  9. git本机服务器配置(四):git+TortoiseGit+gitblit配置本机服务器

    1.配置本机git服务器 1.1 打开gitblit服务器,登录之前设置的服务页面localhost:1081 1.2.登录账号,账号在(三)中有提到. 1.3 打开用户中心 1.4 点击SSH Ke ...

随机推荐

  1. boost--线程同步

    1.互斥锁(互斥量) mutex是独占式的互斥锁.timed_mutex增加了超时功能. 成员函数:lock()用于锁定,try_lock()为非阻塞版本的锁定,unlock()用于解锁.timed_ ...

  2. Unable to fetch some archives ,maybe run apt-get update or try with --fix-missing?

    今天在liunx下要解压zip包时,发现系统里面没有装unzip包,于是就运行sudo apt-get install unzip,可是总是没办法安装,于是上网找原因,有的说源文件需要修改,于是就运行 ...

  3. HTMLDocument的变化

    H5扩展了一些新的功能 1.readyState 属性的两个属性值 loading 正在加载文档 complete 已经加载完文档 可以根据对象的状态触动触发函数 2.兼容模式 IE6开始区分渲染页面 ...

  4. oracle死锁解决方法

    select SESS.sid, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME,      AO.OBJECT_NAME, LO.LOCKED_M ...

  5. VIP之FrameBuffer

     2.VIP Frame Buffer 1.原来我是一直存在一个疑惑,demo上说VIP Frame Buffer输出是固定的60fps,但是在NiosII的程序中我没有找到设置输出为60fps的设置 ...

  6. KindEditor4.x整合教程-Xproer.WordPaster

    1.1. 集成到KindEditor4.x 主要步骤如下: 1.上传插件文件夹 2.上传WordPaster文件夹   3.在引用页面为KindEditor增加插件按钮 <html xmlns= ...

  7. (转)ASP.NET(C#)FileUpload实现上传限定类型和大小的文件到服务器

    上传文件有两个主要的目的地,一个是服务器,另一个是数据库,ASP.NET内置了FileUpload这个上传控件,文本框显示用户选择的文件的全名. 其属性主要包括: ContenLength:上传文件大 ...

  8. AIX nfs简单说明

    AIX 系统 NFS设置 一.NFS守护进程:NFS是通过使用许多用户级的守护进程及远程过程调用等网络应用程序来实现的.而NFS服务器及客户端的守护进程并不完全一致. 1. 作为NFS服务器所需的守护 ...

  9. 用Kotlin写一个基于Spring Boot的RESTful服务

    Spring太复杂了,配置这个东西简直就是浪费生命.尤其在没有什么并发压力,随便搞一个RESTful服务 让整个业务跑起来先的情况下,更是么有必要纠结在一堆的XML配置上.显然这么想的人是很多的,于是 ...

  10. Java用户界面技术

    组件     文本框.复选框.下拉框.文本区域框.列表listbox.按钮.文本标签   布局     layout属性们.panel   java.swing包     JButton     JL ...