BEGINNER'S GUIDE TO ZSH KEYBOARD ASSIGNMENTS, AKA 'KEYBOARD BINDINGS'.
(ความเห็นการปรับปรุงการต้อนรับ denunciations ขม: rayandrews ที่ eastlink dot ca)
คีย์ผสม 'พร้อมใช้งาน' บนแป้นพิมพ์ PC '101' ที่ต่อกับพีซีที่ใช้ 'zsh' ภายใต้ xfce4 ภายใต้ Debian Linux (ฉันไม่ทราบว่ามีใคร 'รับผิดชอบ') ชุดค่าผสมทั้งหมดที่สร้างรหัสซ้ำภายในคีย์ 'สีเทา' ถูกลบออกยกเว้นอวาตาร์ที่ง่ายที่สุดที่แสดง หมายเหตุคีย์ / ชุดสีเทาบางชุดมีการซ้ำซ้อนของ '^ ตัวอักษร' เช่น 'Enter' == '^ M' ซึ่งยังไม่ถูกลบออก ชุดค่าผสมที่ใช้งานอื่น ๆ ไม่ได้ 'พร้อมใช้งาน' ตั้งแต่ใช้โดยระบบแม้จากคอนโซลเช่น ปุ่ม 'Alt + Function' จะสลับขั้ว บางทีกุญแจ 'Meta' จะทำอะไรได้มากกว่านี้ แต่มีขนาด 101 KB น่าสนใจว่ามีชุดค่าผสมให้เลือกมากมายใน DOS เช่นฟังก์ชั่น Ctrl + ทั้งหมดมีอยู่ใน DOS ไม่มีชุดค่าผสมเหล่านี้ใน Linux จึงดูเหมือนว่า ไม่มีการผสมคีย์ tripple (เช่น 'Ctrl + Alt + Up') สร้างรหัสที่ไม่ซ้ำกันภายในคีย์สีเทา แต่จะสร้างรหัสในคีย์สีขาว ความผิดปกติที่น่าสนใจ: '^ [[22' '^ [[27' '^ [[30' นั้น 'หายไป') พวกคุณสงสัยว่าทำไมตัวเลขเหล่านั้นถึงถูกข้ามไป (ซึ่งจะบอกว่าคุณอาจคาดหวังว่า 'F11' จะเป็น '^ [[22' ไม่ใช่ '^ [[23'.))
รหัสคีย์ที่แสดงเป็นตามที่พวกเขาจะถูกส่งออกโดย 'showkeys -a' หรือ 'bindkey' ที่ CLI อย่างไรก็ตามด้วยเหตุผลบางอย่างหากคุณใช้ 'bindkey' ภายในสคริปต์ (เช่นใน '.zshrc') '^ [' จะต้องถูกแทนที่ด้วย '\ e' ดังนั้นที่ CLI:
bindkey -s '^ [[[A' 'my-command \ Cm'
... ผูก 'F1' เป็น 'my-command' และเรียกใช้งานมัน ('\ Cm' จำลองปุ่ม 'Enter')
ใน '.zshrc':
bindkey -s '\ e [25' 'my-command1; คำสั่งของฉัน 2 \ Cm '
... ผูก 'Shift-F1' เป็น 'my-command1' ตามด้วย 'my-command2' และดำเนินการทั้งสองอย่าง
การรวมโดยใช้เพียงปุ่ม'สีเทา' :
key [ F1 ] = '^ [[[A'
key [ F2 ] = '^ [[B'
key [ F3 ] = '^ [[C [
คีย์] [ F4 ] = ' ^ [[D D
key] [ F5 ] = '^ [[[E'
คีย์[ F6 ] = '^ [[17 ~'
ปุ่ม[ F7 ] = '^ [[18 ~
สำคัญ[ F8 ] = ' ^ [[19 ~ '
สำคัญ[ F9 ] = '^ [[20 ~'
key [ F10 ] = '^ [[21 ~'
key [ F11 ] = '^ [[23 ~'
สำคัญ[ F12 ] = '^ [[24 ~'
แป้น[ Shift - F1 ] = '^ [[25 ~'
ปุ่ม[ Shift - F2 ] = '^ [
คีย์26] [ Shift - F3 ] = ' ^ [[28 ~
สำคัญ[ Shift - F4 ] = ' ^ [[29 ~'
ที่สำคัญ[ กะ- F5 ] = '^ ['[31 ~
สำคัญ[ กะ- F6 ] = '^ [[32 ~'
ที่สำคัญ[ กะ- F7 ] = '^ [[33 ~'
ปุ่ม[ Shift - F8 ] = '^ [[34 ~'
key [ Insert ] = '^ [[2 ~'
key [ Delete ] = '^ [[3 ~'
key [ Home ] = '^ [[1 ~'
key [ End ] = '^ [[4 ~'
key [ PageUp ] = '^ [[5 ~'
key [ PageDown ] = '^ [[6 ~'
key [ Up ] = '^ [[A'
key [ ลง] = '^ [[B'
key [ ขวา] = '^[[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:
ความผิดปกติ: 'Ctrl + `' == 'Ctrl + 2' , และ'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' ( ใครจะเดาได้?)
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
เป็น) จากนั้นกดปุ่ม