Tombol numpad tidak mengirim simbol kunci yang sama dengan tombol angka 'normal' di baris atas. Sebagai contoh: Tombol numpad-1 mengirimkan KP_1sementara tombol 1 hanya mengirim 1.
Beberapa terminal secara otomatis memetakan kembali kunci numpad untuk mengirim kode yang sama ke shell. Juga, beberapa cangkang (misalnya bash) hanya menginterpretasikan kunci numpad seperti padanannya di blok utama.
zshtidak melakukan pemetaan secara otomatis, tetapi Anda dapat menggunakannya bindkeyuntuk melakukan pemetaan sendiri. Saya memiliki yang berikut ini di ~/.zshrcuntuk mendapatkan tombol berfungsi:
# 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-stringmengikat in-stringuntuk out-string. Jika in-stringdiketik out-stringdidorong kembali dan diperlakukan sebagai input.
Kode aktual (misalnya ^[Oq) mungkin berbeda pada sistem Anda. Anda dapat menekan Ctrl+ vdiikuti oleh kunci yang dimaksud untuk mendapatkan kode terminal Anda.
Ctrl+vhebat!