在 zsh 中,如何将键盘快捷键绑定到函数?
换句话说,我该如何翻译:
重击:
hw(){ echo "hello world"; }
bind -x '"\C-h": hw;'
到 zsh?
答案1
它不会使用原始函数。他们需要通过以下方式包装在“小部件”中
zle -N widgetname funcname
两者可以具有相同的名称:
zle -N hw{,}
然后可以这样做:
bindkey ^h hw
,导致Ctrl+h
运行hw
运行该hw
函数的小部件。
答案2
这对我在 xterm 终端上的 zsh 5.8.1 上有效。我在 zshrc 中定义了以下内容,以快速创建脚本语言/测试的模板。例如,shell 脚本的模板(模板的):
# Function and keybind defined in .zshrc:
create-template (){
cat << EOF > template.sh
#!/usr/bin/bash
# Your template goes here ...
EOF
echo "template.sh created"
}
bindkey -s "^E" 'create-template^M'