上一篇介绍了如何使用vimwiki组建个人wiki,但是如何同步自己的vimwiki 到线上却成了很多人的困扰。丘迟的维基世界介绍了同步 vimwiki 到线上的各种方法,如果你的桌面是使用linux的话,当然问题不大,很轻松就能写出一个同步的脚本。但是还是有很多人平时工作在windows的系统环境中,这里我自己写了一个vim的小插件用来一键同步vimwiki到线上。

首先分析一下这个同步需求:

  1. 需要自动同步 vimwiki_html 的所有文件
  2. 有变更的文件才同步上去
  3. 被删掉的文件也要能同步删掉
  4. 由于文件修改频繁,不需要一旦修改就马上同步
  5. 有需要时可以手动同步
  6. 最好能排除一些不用放在线上的文件
  7. 不能占用太多系统资源

这里我将vimwiki生成的html托管在了自己的github上面,此vim脚本的运行需要依赖你gvim对应版本的python,或者自己在windows下编译一个gvim。(好吧,这个实在够蛋疼。。。)

安装并配置你的github

首先关闭360安全卫士等流氓软件!切记!

从github下载github for window,链接如下:

http://github-windows.s3.amazonaws.com/GitHubSetup.exe

安装完成后,用你的账号登录,然后在tools/options中设置默认的shell为cmd,如下图:

image

完成后双击桌面上的git shell图标,打开git shell 后执行如下命令

echo %path% >>c:\path.txt

打开c:\path.txt 将里面的内容全部复制,粘贴到系统的path变量中(覆盖原来的path)。完成此步骤后,cmd中会使用github生成的配置进行ssh的key-agent验证登录,故实现了git命令免密码的效果。完成后,运行cmd,输入git,能识别这个命令表示成功。然后就可以使用我写的这个脚本了(汗,脚本依赖有点高~~)

脚本的代码如下:

《阅读全文》