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'