클릭 시 물결표열쇠

클릭 시 물결표열쇠

XFCE 터미널 에뮬레이터 0.4.8을 사용하고 있습니다.

내 ~/.inputrc 파일:

# Insert Key
"\e[2~": paste-from-clipboard
"\C-v": paste-from-clipboard
"\e[A":history-search-backward
"\e[B":history-search-forward
"\M-[3~": delete-char

클릭하면 <Del>다음 문자를 제거하는 대신 물결표가 인쇄됩니다. .inputrc 파일을 제거하면 제대로 작동하기 시작했습니다. Google 검색에서 다음 줄이 드러났습니다.

"\M-[3~": delete-char

이미 사람들이 이 문제를 해결하도록 도왔습니다. 하지만 나는 아니다. 이 줄을 .inputrc에 삽입하고 다른 줄도 모두 삭제했습니다. 작동하지 않습니다.

어떻게 고치나요?

답변1

"\M-[3~": delete-char

bash에게 찾도록 지시하기 때문에 올바르지 않습니다.[bash에 따르면 문자는 다음 이스케이프 문자 [이거나 [0x80, 즉 0xdb와의 "OR" 연산으로 형성된 문자 일 수 있습니다.Û

실제 키는 이스케이프 문자만 사용하므로 다음 설정을 사용해야 합니다.

"\e[3~": delete-char

답변2

질문에 이미 답변이 있지만 동일한 문제가 있었지만 zsh를 사용했기 때문에 쉘에 따라 다르다는 점을 (다른 사람들을 위해) 언급하고 싶었습니다. 문제는 zsh가 readline을 사용하지 않으므로 inputrc를 읽지 못한다는 것입니다. 대신 zsh 라인 편집기(zle)를 구현했습니다.

내가 찾은 해결책은 zshrc에서 명시적으로 키 바인딩을 설정하는 것이었습니다(즉, readline 대신 zle의 경우).아치 위키에 설명되어 있음

# create a zkbd compatible hash;
typeset -g -A key
key[Delete]="${terminfo[kdch1]}"

# setup key accordingly
[[ -n "${key[Delete]}"    ]] && bindkey -- "${key[Delete]}"     delete-char

관련 정보