Tombol numpad tidak mengirim simbol kunci yang sama dengan tombol angka 'normal' di baris atas. Sebagai contoh: Tombol numpad-1 mengirimkan KP_1
sementara 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.
zsh
tidak melakukan pemetaan secara otomatis, tetapi Anda dapat menggunakannya bindkey
untuk melakukan pemetaan sendiri. Saya memiliki yang berikut ini di ~/.zshrc
untuk 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-string
mengikat in-string
untuk out-string
. Jika in-string
diketik out-string
didorong 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
+v
hebat!Untuk melengkapi jawaban yang diberikan @adaephon, berikut ini adalah binding yang benar untuk keyboard USB Apple (A1243). Ini perlu ditambahkan
~/.zshrc
.sumber
+
(harus menggunakanbindkey -s "^[Ok" "+"
) dan=
(hilangbindkey -s "^[OX" "="
)Juga melengkapi jawaban dari @adaephon. Inilah yang harus saya gunakan untuk Dell Desktop saya, mungkin bisa membantu. Cukup tambahkan di file .zshrc Anda.
(BTW jangan menambahkan ikatan dari semua jawaban, Anda hanya perlu memiliki satu ikatan per kunci)
sumber
Terminal > Keyboard > Initial state of numeric pad > Normal
)Di Mac OSX El Capitan saya, kunci periode
^[0n
bukan^[01
. Saya juga memiliki keyboard nirkabel Logitech untuk Mac dan memiliki=
tanda pada numpad juga. Pemetaan terakhir saya terlihat seperti di bawah ini:Namun solusi yang diusulkan orang lain berfungsi dengan benar.
sumber
Jika Anda menggunakan Kitty untuk mengakses server linux di SSH dan keypad berfungsi baik dengan Bash tetapi tidak dengan ZSH, Anda dapat mencoba menambahkan berikut ini di
~/.zshrc
file konfigurasi Anda :Menyimpan. Logout dan login lagi untuk memuat ulang konfigurasi ZSH, atau Anda dapat mengetik yang berikut di terminal Anda:
Papan tombol sekarang berfungsi seperti yang diharapkan!
sumber