BEGINNER'S GUIDE TO ZSH KEYBOARD ASSIGNMENTS, AKA 'KEYBOARD BINDINGS'.
(의견, 개선, 쓴 비난 환영 : 이스트 링크 닷 ca의 rayandrews)
데비안 리눅스의 xfce4에서 'zsh'를 실행하는 PC에 연결된 '101'PC 키보드의 '사용 가능한'키 조합 (누가 '담당자'인지 알 수 없음). 표시된 가장 단순한 아바타를 제외하고 '회색'키 내에서 중복 코드를 생성하는 모든 조합이 제거되었습니다. 일부 회색 키 / 콤비네이션에는 'Enter'== '^ M'과 같은 '^ letter'복제본이 있으며 제거되지 않았습니다. 예를 들어 콘솔에서도 시스템에서 사용 된 이후로 다른 활성 조합을 사용할 수 없었습니다. 'Alt + Function'키는 터미널을 전환합니다. 아마도 'Meta'키가 더 많은 것을 할 것이지만 이것은 101KB입니다. Ctrl + Function과 같이 DOS에서 훨씬 더 많은 조합이 가능하다는 점에 흥미가 있습니다. 모두 DOS에서 사용 가능하지만 Linux에서는 사용할 수 없습니다. 트리플 키 조합 (예 : 'Ctrl + Alt + Up')은 회색 키 내에 고유 코드를 생성하지 않지만 흰색 키에는 코드를 생성합니다. 흥미로운 예외 : '^ [[22' '^ [[27' '^ [[30'은 '누락'입니다.) 그 숫자를 건너 뛴 이유가 무엇인지 궁금합니다. ( 'F11'은 '^ [[23'이 아닌 '^ [[22') 일 것으로 예상 할 수 있습니다.)
표시된 키 코드는 CLI에서 'showkeys -a'또는 'bindkey'에 의해 출력되는 것과 같습니다. 그러나 어떤 이유로 스크립트 내에서 'bindkey'를 사용하는 경우 ( '.zshrc'에서와 같이) '^ ['는 '\ e'로 바꿔야합니다. 따라서 CLI에서
bindkey -s '^ [[[A' '내 명령 \ Cm'
... 'F1'을 'my-command'에 바인딩하고 실행하십시오 ( '\ Cm'은 'Enter'키를 시뮬레이트합니다).
'.zshrc'에서 :
bindkey -s '\ e [25' 'my-command1; 내 command2 \ Cm '
... 'Shift-F1'을 'my-command1'에 바인딩 한 다음 'my-command2'를 바인딩하고 둘 다 실행하십시오.
'그레이' 키만 사용하는 조합 :
키 [ F1 ] = '^ [[[A'
키 [ F2 ] = '^ [[[B'
키 [ F3 ] = '^ [[[C'
키 [ F4 ] = '^ [[[D'
키 [ F5 ] = '^ [[[E'
키 [ F6 ] = '^ [[17 ~'
키 [ F7 ] = '^ [[18 ~'
키 [ F8 ] = '^ [[19 ~'
키 [ F9 ] = '^ [[20 ~'
키 [F10 ] = '^ [[21 ~'
키 [ F11 ] = '^ [[23 ~'
키 [ F12 ] = '^ [[24 ~'
키 [ Shift - F1 ] = '^ [[25 ~'
키 [ Shift - F2 ] = '^ [[26 ~'
키 [ Shift - F3 ] = '^ [[28 ~'
키 [ Shift - F4 ] = ' ^ [[29 ~ '
키 [ Shift - F5 ] = '^ [[31 ~ '
키 [ Shift - F6 ] = '^ [[32 ~ '
키 [ Shift - F7 ] = '^ [[33 ~'
키 [ Shift - F8 ] = '^ [[34 ~'
키 [ Insert ] = '^ [[2 ~'
키 [ Delete ] = '^ [[3 ~'
키 [ Home ] = '^ [[1 ~'
키 [ End ] = '^ [[4 ~'
키 [ PageUp ] = '^ [[5 ~'
키 [ PageDown ] = '^ [[6 ~'
키 [ Up ] = '^ [[A'
키 [ Down ] = '^ [[B'
키 [ Right ] = '^[[C'
key[Left] = '^[[D'
key[Bksp] = '^?'
key[Bksp-Alt] = '^[^?'
key[Bksp-Ctrl] = '^H' console only.
key[Esc] = '^['
key[Esc-Alt] = '^[^['
key[Enter] = '^M'
key[Enter-Alt] = '^[^M'
key[Tab] = '^I' or '\t' unique form! can be bound, but does not 'showkey -a'.
key[Tab-Alt] = '^[\t'
COMBINATIONS USING THE WHITE KEYS:
Anomalies:
'Ctrl+`' == 'Ctrl+2', and 'Ctrl+1' == '1' in xterm.
Several 'Ctrl+number' combinations are void at console, but return codes in xterm. OTOH Ctrl+Bksp returns '^H' at console, but is identical to plain 'Bksp' in xterm. There are no doubt more of these little glitches however, in the main:
White key codes are easy to undertand, each of these 'normal' printing keys has six forms:
A = 'a' (duhhh)
A-Shift = 'A' (who would have guessed?)
A-Alt = '^[a'
A-Ctrl = '^A'
A-Alt-Ctrl = '^[^A'
A-Alt-Shift = '^[A'
A-Ctrl-Shift = '^A' (Shift has no effect)
Don't forget that:
/-Shift-Ctrl = Bksp = '^?'
[-Ctrl = Esc = '^['
M-Ctrl = Enter = '^M'
And, we can 'stack' keybindings:
bindkey -s '^Xm' "My mistress\' eyes are nothing like the sun."
... Bind 'Ctrl-X' followed by 'm' to a nice line of poetry.
And we can flirt with madness:
bindkey -s '^Pletmenot' 'Let me not, to the marriage of true minds'
... but you hafta start something like that with a 'modifier' character. Try it, if you like keyboard shortcuts, you can really go to town.
QUESTIONS:
Where is it written that 'Ctrl-Bksp' means one thing at console, another thing in xterm?
Are these assignments changable?
Who designed all this, and what were they thinking at the time?
Why is it 'Alt-Function' to change terminals at a terminal, but 'Alt-Ctrl-Function' to change to a terminal from GUI?
' Alt - Ctrl - Delete ' 는 어떻게 / 어디에 정의되어 있습니까?
enter code here
stty -a
말한다lnext
다음의 핵심입니다).