나는 이것으로 주위를 돌고 있었고 그것이 작동하도록 할 수없는 것 같습니다. 터미널에서 Ctrl+ V를 사용하면 ^\
이 조합에 대해 올바르게 출력 되므로 인식 할 수 있어야합니다.
내가 가지고있는 것처럼 Ctrl+ \일시 중지 프레임을 이맥스에서 바인딩, 나는 빨리 다시 누르면 전경으로 돌아가는 수 있도록하고 싶습니다 Ctrl+ \.
나는 이것이 유일한 실행 가능한 조합이라고 믿습니다.
"\C-\\": "fg\n"
내가 치면 Enter후 Ctrl+ V조합, 나는 유용 할 수 있습니다 다음과 같은 출력을 얻을 :
bash: $'\034': command not found
Ctrl + \는 Ctrl + C (SIGINT) 및 Ctrl + Z (SIGTSTP)와 같이 터미널이 신호 (SIGQUIT)를 전송하도록하는 제어 문자 중 하나입니다. stty -a
터미널에 특별한 의미가있는 문자를 표시하기 위해 실행할 수 있습니다 . 참조 지우기 / 리눅스 터미널 쉘 /에 잘못 입력 보이지 않는 암호를 삭제 자세한 내용은. 결론은 Ctrl+ 를 누르면 \bash는 표준 입력에서 문자를 보지 않고 신호를 보며 키 바인딩 메커니즘을 거치지 않는다는 것입니다.
명령을 사용하여 터미널에서 문자의 의미를 끌 수 있습니다 stty quit undef
. 그렇게하면 bash는 문자를 입력으로보고 키 바인딩이 적용됩니다.
을 준비하려면 Ctrl+가 \떠들썩한 파티가 구속력을하지만, 명령을 실행할 때, 터미널 설정을 변경 바인딩 정상 터미널을 가지고 이전 과 명령을 실행 한 후.
preexec () {
stty quit '^\'
}
precmd () {
stty quit undef
}
preexec_invoke_exec () {
[ -n "$COMP_LINE" ] && return # do nothing if completing
[ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] && return # don't cause a preexec for $PROMPT_COMMAND
local this_command=`HISTTIMEFORMAT= history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//"`;
preexec "$this_command"
}
trap 'preexec_invoke_exec' DEBUG
PROMPT_COMMAND='precmd'
키 유형 fg
과 줄 바꿈을 만드는 대신 키를 셸 명령에 바인딩합니다. .inputrc
bash뿐만 아니라 모든 readline 애플리케이션에 적용되는에서는이를 수행 할 수 없습니다 . 대신에 bash 바인딩을 정의하십시오 .bashrc
.
bind -x '"\C-\\": "fg"'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다