gpt4 book ai didi

shell - 避免 zsh 命令行中的递归

转载 作者:行者123 更新时间:2023-12-01 11:05:08 25 4
gpt4 key购买 nike

好吧,几个小时前我切换到 zsh,我正处于一个巨大的配置狂欢中,但这对我来说可能太大了:

我想做一个分隔符自动配对,例如输入 ( 并插入 ()。首先失败:

bindkey -s "(""()"

第二次失败:

function autopair () {
zle -U "()"
zle backward-char
}
zle -N autopair autopair
bindkey "(" autopair

我认为两者都失败了,因为 zsh 试图在“(”插入上递归(-U 似乎明确地说了这一点)。有没有办法避免这种情况?替换 echo -ne函数第一行中的“()”当然可以避免这种情况,但无法编辑...有什么想法可以强制插入吗?

加分项(打个比方:)):我想在插入后将光标设置在括号之间。然而,我函数中的 zle backward-char 没有做任何事情......

想象一下这会有多棒!谢谢!

最佳答案

function autopair()
{
LBUFFER+="("
RBUFFER=")$RBUFFER"
}
zle -N autopair autopair
bindkey "(" autopair

关于shell - 避免 zsh 命令行中的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6673280/

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