![Linux 셸에서 입력이 비어 있을 때 Ctrl-W / ^W는 Ctrl-D / ^D처럼 EOF를 보내나요?](https://linux55.com/image/213896/Linux%20%EC%85%B8%EC%97%90%EC%84%9C%20%EC%9E%85%EB%A0%A5%EC%9D%B4%20%EB%B9%84%EC%96%B4%20%EC%9E%88%EC%9D%84%20%EB%95%8C%20Ctrl-W%20%2F%20%5EW%EB%8A%94%20Ctrl-D%20%2F%20%5ED%EC%B2%98%EB%9F%BC%20EOF%EB%A5%BC%20%EB%B3%B4%EB%82%B4%EB%82%98%EC%9A%94%3F.png)
^W가 셸에 null로 입력된 ^D와 동일하게 동작하도록 하는 방법이 있습니까? 나는 zsh를 사용하지만 이것은 bash에서도 작동합니다. 그렇지 않으면 아무 일도 하지 않습니다(입력 줄이 지워진 경우). 이는 다른 UI(예: Gtk, 웹 브라우저)에서 ^W가 콘텐츠를 닫는 것과 일치합니다.
답변1
EOF를 나타내기 위해 두 개의 서로 다른 문자를 설정할 수 없습니다. styy
나는 당신이 이런 짓을 못하게 할 것입니다.
그러나 이 예에서는 이것이 필요하지 않습니다. Zsh의 내장 backward-kill-word
위젯을 간단히 재정의할 수 있습니다.
# Tell zsh to call a function with
# the same name whenever
# backward-kill-word is activated.
zle -N backward-kill-word
backward-kill-word() {
# Exit the shell if the command
# line is a zero-length string.
[[ -z "$BUFFER" ]] &&
exit
# Otherwise, call the original
# built-in widget.
zle .$0
}
읽다Zsh 라인 편집기 문서더 많은 정보를 알고 싶습니다.