当我在终端输入git repo url时,它具有以下输出:
% https://github.com/chmln/sd.git
zsh: no such file or directory: https://github.com/chmln/sd.git
我想https://github.com/chmln/sd.git
充当一个命令
git clone https://github.com/chmln/sd.git
cd sd
我试过preexec
钩子。
preexec () {
print ">>>preexec start<<<"
# print -l ${(qqq)@}
if [[ ${(qqq)@} =~ ^https.* ]]
then
echo URL
fi
print ">>>preexec end<<<"
}
输出是
% https://github.com/chmln/sd.git
>>>preexec start<<<
>>>preexec end<<<
zsh: no such file or directory: https://github.com/chmln/sd.git
我该如何解决这个问题。
function _accept-line-with-url {
if [[ $BUFFER =~ ^https.*git ]]
then
echo $BUFFER >> $HISTFILE
fc -R
BUFFERz="git clone $BUFFER && cd $(basename $BUFFER .git)"
zle .kill-whole-line
BUFFER=$BUFFERz
zle .accept-line
else
zle .accept-line
fi
}
zle -N accept-line _accept-line-with-url
现在您可以在提示中粘贴github url,它将克隆存储库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句