好的,几个小时前我切换到了zsh,并且我正在进行大量的配置调整,但这对我来说可能是一个太大的难题:
我想要做一个分隔符自动配对,例如输入 ( ,它会插入 ()。第一个失败的尝试:
bindkey -s "(" "()"
第二个失败的尝试:
function autopair () {
zle -U "()"
zle backward-char
}
zle -N autopair autopair
bindkey "(" autopair
我认为两者都失败了,因为zsh尝试在“(”插入处递归(
-U
似乎明确表示了这一点)。有没有办法避免这种情况?当然,将echo -ne "()"
替换为函数的第一行可以避免这种情况,但无法编辑...有什么想法可以强制插入吗?额外加分(比喻意义):我想在插入后设置光标在括号之间。然而,我的函数中的
zle backward-char
并没有起到任何作用...想象一下这有多棒!谢谢!