나는 데비안 10.0 시스템을 가지고 있습니다. zsh 5.7.1(x86_64-debian-linux-gnu)이 있습니다. ZSH 프롬프트에서 다음을 입력합니다.
foo bar baz
alt그런 다음 +를 두 번 입력합니다 backspace. baz
"and" 라는 단어가 bar
제거되고 foo
"and"만 남습니다.
ctrl그런 다음 +를 두 번 입력하여 /삭제를 취소합니다. baz
그리고 단어가 bar
다시 나타납니다.
ctrl+ /실행 취소 명령은 어떻게 작동하나요? 어디에도 정의된 것이 없나요?
$ echo / | grep -E "/|undo" # just testing my regex
/
$ bindkey -l
.safe
command
emacs
isearch
main
vicmd
viins
viopp
visual
$ bindkey -M .safe | grep -E "/|undo"
$ bindkey -M command | grep -E "/|undo"
$ bindkey -M emacs | grep -E "/|undo"
"^X^U" undo
"^Xu" undo
"^_" undo
또한 zsh 5.7.1(x86_64-apple-darwin19.0)이 포함된 macOS Catalina 10.15.7이 있는데 ctrl+는 /아무 작업도 수행하지 않습니다.
답변1
아니요제어 문자Control+ 의 /경우 터미널은 보낼 수 있는 문자나 문자 시퀀스를 자연스럽게 선택할 수 없습니다. 많은 터미널에서는 ^_
+와 동일한 문자 인 을 보냅니다 . 여기에는 xterm, rxvt, konsole 및 vte 라이브러리 기반의 모든 터미널(Gnome Terminal, Mate Terminal, lxterminal, Terminator 등)이 포함되지만 macOS의 내장 터미널 애플리케이션은 포함되지 않습니다.Control_
CtrlV+를 입력한 다음 +를 입력하면 Ctrl터미널이 보내는 내용을 확인할 수 있습니다 /. Ctrl+는 V"다음 문자를 문자 그대로 삽입"을 의미합니다(명령으로 해석되더라도).
(단말기의 역할은 다음을 참조하세요.키보드 입력과 텍스트 출력은 어떻게 작동합니까?)
^_
Emacs 키보드 단축키가 있는 Emacs 및 응용 프로그램의 실행 취소 단축키입니다.