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で次のように定義しました。たとえば、シェルスクリプト用のテンプレート(テンプレート)は次のとおりです。
# 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'