gpt4 book ai didi

ZSH 和 ZLE,移到行首,写字符串,移到行尾

转载 作者:行者123 更新时间:2023-12-04 22:36:18 24 4
gpt4 key购买 nike

它不是必需的,但它让我有点烦恼,
这是我的 .zshrc 中的片段

一个名为 add_sudo 的函数/小部件,它将位于行首,在此处写入 sudo,然后应位于行尾。

它绑定(bind)到 ctrl+f

但它不会出现在行尾,它会忽略最后一个命令并在编写 sudo 后坐在那里。

add_sudo() {
zle beginning-of-line;
zle -U "sudo ";
zle end-of-line;
}

zle -N add_sudo
bindkey "^f" add_sudo

有什么解决办法吗?

最佳答案

这个我可以回答!我刚加入,很高兴能提供帮助.....我读错了问题,但现在我来这里是为了救赎自己,在@4ae1e1 的帮助下,所有功劳归功于他提到使用 BUFFER= 和 CURSOR=

add_sudo (){
prefix="sudo"
BUFFER="$prefix $BUFFER"
CURSOR=$(($CURSOR + $#prefix + 1))
}
zle -N add_sudo
bindkey "^f" add_sudo

做你想做的事,现在我也可以在每次忘记 sudo 后使用它!

编辑x2

值得注意的是,这实际上将光标放回到它之前的位置,这是我的首选用途。正如 4aelel 所说,您可以使用 CURSOR+=5 将其放在行尾。

同样值得注意的是,我意识到我真的没有解决这个问题,因为它是如何使用 zsh 和 zli 做到这一点,而不是如何做到这一点。如果我遇到答案,我会附上这两个解决方案。我是 zli 的新手,它的细微差别,最近才搬到 zsh。

关于ZSH 和 ZLE,移到行首,写字符串,移到行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33316628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com