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
, 拉取最新就可以了。