![명령을 중단하기 위해 ^C를 입력하면 "^C"가 표시됩니다.](https://linux55.com/image/171734/%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%A4%91%EB%8B%A8%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20%5EC%EB%A5%BC%20%EC%9E%85%EB%A0%A5%ED%95%98%EB%A9%B4%20%22%5EC%22%EA%B0%80%20%ED%91%9C%EC%8B%9C%EB%90%A9%EB%8B%88%EB%8B%A4..png)
Bash 4.4(Bash 3.2는 아님)에서 명령을 입력한 다음 중단하려면 쉘이 새 프롬프트 행을 표시하기 전에 커서에 텍스트를 삽입한다는 것을 Ctrl알았 C습니다 ^C
. 동일한 작업을 수행하도록 zsh를 구성하는 방법이 있습니까?
(이것은 다소 관련이 있습니다.이 문제, 회전 방법을 묻는 메시지입니다.떠나다이 질문은 Bash에 관한 것이지만 이 동작입니다.이 답변또 다른 질문은 명령줄에 특수 문자가 나타날 때 zle이 강조 표시하도록 하는 방법을 보여 주지만 명령줄에 0x03 바이트 텍스트를 삽입하지 않고 제어 문자를 입력할 때 일부 텍스트를 표시하려고 합니다. )
답변1
이것은 최소한 간단한 경우에는 작동합니다.
precmd () {
trap 'print -P "%B%F{red}^C%f%b"; zle send-break' INT
}
preexec () {
trap - INT
}
나는 완료하는 데 오랜 시간이 걸리는 기능과 같은 "어려운" 상황에서 그것이 어떻게 작동하는지 탐구하지 않았습니다.