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'

관련 정보