คีย์ numpad จะไม่ส่งสัญลักษณ์คีย์เดียวกันกับคีย์ 'ปกติ' ในแถวบนสุด ยกตัวอย่างเช่นการ numpad-1-สำคัญส่งKP_1
ในขณะที่ 1 1
ที่สำคัญเพียงแค่ส่ง
บางเทอร์มินัลทำการแมปคีย์ numpad ใหม่โดยอัตโนมัติเพื่อส่งรหัสเดียวกันไปยังเชลล์ นอกจากนี้เชลล์บางตัว (เช่นbash
) เพียงแค่ interprete คีย์ numpad เช่นสิ่งที่เทียบเท่าในบล็อกหลัก
zsh
ไม่ได้ทำแผนที่โดยอัตโนมัติ แต่คุณสามารถใช้bindkey
เพื่อทำแผนที่ด้วยตัวเอง ฉันมีสิ่งต่อไปนี้ใน~/.zshrc
การทำให้ปุ่มกดทำงานได้:
# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[Ol" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + - * /
bindkey -s "^[Ok" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"
bindkey -s in-string out-string
ผูกไปin-string
out-string
หากin-string
พิมพ์out-string
ถูกส่งกลับและถือเป็นอินพุต
รหัสจริง (ตัวอย่าง^[Oq
) อาจแตกต่างกันในระบบของคุณ คุณสามารถกดCtrl+ vตามด้วยรหัสที่เป็นปัญหาเพื่อรับรหัสสำหรับเทอร์มินัลของคุณ
Ctrl
+v
ยอดเยี่ยมมาก!