gpt4 book ai didi

zsh - 如何在 zsh 小部件定义中移动光标位置

转载 作者:行者123 更新时间:2023-12-04 19:48:42 25 4
gpt4 key购买 nike

我有这个片段:

insert_sudo () { zle beginning-of-line; zle -U "sudo "; zle end-of-line; }
zle -N insert-sudo insert_sudo
bindkey "\es" insert-sudo

但是 \es只将“sudo”附加到行尾,而不是我预期的行首。请帮忙!

最佳答案

请尝试以下操作:

insert_sudo() { BUFFER="sudo $BUFFER"; zle end-of-line; }

这直接修改了特殊的 $BUFFER通过添加 sudo  来包含命令行内容的变量然后将光标放在行尾。
zle -U 的问题是它仅在小部件完成后生效。来自 zsh手动的:

After the widget currently executed finishes, ZLE will behave as if the characters in the string were typed by the user.

关于zsh - 如何在 zsh 小部件定义中移动光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311822/

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