zshのシェル機能にショートカットキーをバインドする

zshのシェル機能にショートカットキーをバインドする

zshの機能にキーボードショートカットをバインドする方法は?

つまり、どのように翻訳するのですか?

大きな打撃:

hw(){ echo "hello world"; }
bind -x '"\C-h": hw;'

zshで?

答え1

元の機能を使用しません。彼らは次のように「ウィジェット」としてパッケージ化されなければなりません。

zle -N widgetname funcname

どちらも同じ名前を持つことができます。

 zle -N hw{,}

これにより、次のことができます。

bindkey ^h hw

、関数を実行するウィジェットがCtrl+h実行されるようにします。hwhw

答え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'

関連情報