คีย์ 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ยอดเยี่ยมมาก!