DoT*_*Evo 3 zsh oh-my-zsh prezto zsh-zle
它不是必需的,但它让我有点烦恼,这是我的.zshrc片段
一个名为add_sudo的函数/小部件,它将在行的开头,在那里写sudo然后应该在行的末尾.
它绑定到ctrl + f
但它没有走到最后,它忽略了最后一个命令,并在写完sudo之后就坐在那里.
add_sudo() {
zle beginning-of-line;
zle -U "sudo ";
zle end-of-line;
}
zle -N add_sudo
bindkey "^f" add_sudo
Run Code Online (Sandbox Code Playgroud)
任何解决方案?
我可以回答这一个!我刚刚加入,很高兴帮助.....我读错了这个问题,但是现在我在@ 4ae1e1的帮助下赎回自己,所有归功于他提到使用BUFFER =和CURSOR =
add_sudo (){
prefix="sudo"
BUFFER="$prefix $BUFFER"
CURSOR=$(($CURSOR + $#prefix + 1))
}
zle -N add_sudo
bindkey "^f" add_sudo
Run Code Online (Sandbox Code Playgroud)
你想要什么,现在我也可以在每次忘记sudo之后使用它!
EDITx2
值得注意的是,这实际上将光标放回原先的位置,我的首选用途.正如4aelel所述,您可以使用CURSOR + = 5将其放在行尾.
另外值得注意的是,我再次意识到我真的没有完成这个问题,因为它是如何使用zsh和zli来完成的,而不是如何做到这一点.如果我遇到一个答案,我会附加两个解决方案.我是zli的新手,它的细微差别,最近才转向zsh.