2013-11-22 3 views
4

어제 bind를 사용하는 법을 배웠습니다. 터미널에서 키 다음에 VCtrl 키 + 을 입력하여Bash readline에서 'Enter key'를 묶는 방법은 무엇입니까?

, 나는 키를 나타내는 원시 문자를 얻을. 예 : Ctrl + v 다음에 Esc^[을 반환합니다.

제 질문은 어떻게 "Enter 키"를 바인딩 할 수 있습니까? 지정 키를 반환 ^M를 입력하지만이 (가)는 foobar 발생하지 않습니다 Enter 키를 누르는 명령

bind '"\e^M":"foobar"' 

를 입력 할 때 내 단말기에 입력된다.

답변

4
bind '"\e^M":"foobar"' 

귀속 탈출 - 입력, 입력하지. 당신은

bind '"^M":"foobar"' 

^M 실제 제어 문자가 아닌 ^M해야합니다. 좀 더 쉽게 입력 할 수 있습니다

bind '"\C-M":"foobar"' 
+0

안녕하세요, 감사합니다. Chepner, 왜^M이 작동하지 않는지 궁금합니다. 또한 \ C와 \ e와 다른 이스케이프 시퀀스 문자에 대해 더 많이 알 수있는 곳이 궁금합니다. – Paolo

+0

'bash' 맨 페이지의 Readline Notation을 참조하십시오. "C-M"으로 충분합니다. "\ C-M"이 받아 들일 수있는 대안인지, 아니면 "\ C"가 "bash"에 의해 "C"로 처리되는 이스케이프 된 "C"로 처리되는지 확실하지 않습니다. – chepner

0
$ alias ^M='echo foobar' 
$ ^M 
foobar 
관련 문제