小智 12
我认为你不需要小部件:
bindkey -s '\eb' '/path/to/script.sh\n'
Run Code Online (Sandbox Code Playgroud)
来自zsh 文档:
除了 ZLE 命令之外,还可以使用“bindkey -s”将键序列绑定到其他字符串。
您可以定义一个调用脚本的小部件:
my-script_widget() my-script its args
zle -N my-script_widget
bindkey '\ej' my-script_widget
Run Code Online (Sandbox Code Playgroud)
但是为什么要直接从 zle 调用脚本呢?
如果它显示任何内容,它会弄乱显示。如果您希望其输出显示为其他小部件消息,您可以执行以下操作:
my-script_widget() zle -M "$(my-script its args)"
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望在光标处插入输出:
my-script_widget() LBUFFER+=$(my-script its args)
Run Code Online (Sandbox Code Playgroud)