编辑命令,然后在zsh中按下键绑定后执行



我试图在键绑定"Control Space"上执行任意命令。zsh。我有以下代码

function space-run() {
$BUFFER=" $BUFFER"
zle reset-prompt
zle accept-line
}
zle -N space-run
bindkey '^ ' space-run # bind to control space

换句话说,我想在命令之前添加一个空格,然后执行它,因为在我的zsh配置中,以空格开头的命令不会被添加到历史记录中。

上面的代码不工作,它一直说"command not found: ls=ls"如果我输入ls并按Control Space

我期望$BUFFER="BUFFER&quot美元;会添加空格,但我不确定会发生什么,因为它显然没有这样做。

我也不确定zle reset-prompt是做什么的,或者是否需要它。

我应该如何修复我的代码,使我得到想要的行为?

这没有意义。

$BUFFER=" $BUFFER"

假设BUFFER的值为ls。该行将展开为

"ls= ls"

,这将被解释为要执行的命令。

zsh中的变量名分配语法为

NAME=value

所以在你的情况下

BUFFER=" $BUFFER"

相关内容

  • 没有找到相关文章

最新更新