vim-plug和oh-my-zsh的更新
本博客前文已经实现了vim, neovim
等编辑器中插件的自动更新,原理是github克隆仓库有三个链接HTTPS,
GitHub CLI,
SSH,其中HTTPS对应网址https://github.com,对于所有人开放,但是当前网络它是不稳定的。而SSH只对于那些登录GitHub的用户开放,于是在本机配置了SSH的用户,相当于完成了认证,只需要使用git@github.com
就可以顺利完成插件的下载和更新了。
vim-plug的更新
插件vim-plug提供了更新插件的命令PlugUpdate,
由于插件是追加了git@github.com的,所以各插件可以正常更新。但是自更新命令PlugUpgrade
通过脚本plug.vim可以看出是通过https://github.com来更新的,这是为了让没有GitHub帐号的用户也能使用插件并更新,但是当前网络环境下自动更新却成了一个难题。仔细研究后,我提出了一个思路:
建立目录
~/.vim/autoload和~/.vim/plugged, 第一个目录是按通常方法安装vim-plug时创建,第二个目录是vim-plug在安装插件时创建。直接使用
git克隆vim-plug目录到~/.vim/plugged/vim-plug。建立链接
~/.vim/plugged/vim-plug/plug.vim到~/.vim/autoload/plug.vim。在
.vimrc文件中配置好vim-plug插件。
这么操作的原理是: 当执行命令 PlugInstall
后,所有的插件将会被安装到目录 ~/.vim/plugged/, 于是
.vimrc 配置了 vim-plug,则此插件也必会安装到
~/.vim/plugged/vim-plug/。 但是经测试 vim
启动时最先加载的插件是 ~/.vim/autoload/plug.vim,
现在是超链接,所以也就是加载了
~/.vim/plugged/vim-plug/plug.vim, 反过来当执行
PlugUpdate 时,所有的插件都会从 git@github.com
更新,于是 vim-plug 也就得到了更新。但是注意,不要执行
PlugUpgrade, 因为若网络偶尔可以使用
https://github.com 时,它自动更新成功了,将会下载最新的
plug.vim 到 ~/.vim/autoload/plug.vim,
从而取代了原来的链接,下一次将不能再平稳的从 git@github.com
更新。
oh-my-zsh的更新
还是由于https://github.com不稳定的原因,安装oh-my-zsh需要执行命令
1
git clone --depth 1 git@github.com:ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
当启动终端的时候,oh-my-zsh会启动自动更新,此时请不要确认更新。切换到目录~/.oh-my-zsh/,
然后执行命令git pull , 拉取最新就可以了。