/ / zsh (z kabuk) numpad / numlock çalışmıyor - zsh

zsh (z kabuk) numpad / numlock çalışmıyor - zsh

zsh

Az önce zsh / oh-my-zsh sürümüne geçtim. Hemen hemen 10 basamaklı sayısal tuş takımının çalışmadığını fark ettim. Bash ve balık kabuğunda çalışıyordu.

Garip bir şekilde, fn / fonksiyon tuşunu basılı tutarsam numlock gibi çalışır ve çalışır, ancak "t" kilitlenmez ve sayıları yazmak için fn tuşunu basılı tutmaya devam etmeliyim.

Orada fikir var mı?

Yanıtlar:

89 cevap için № 1

Sayısal tuş takımı, üst satırdaki "normal" sayı tuşuyla aynı tuş sembollerini göndermez. Örneğin: Numpad-1 tuşu KP_1 1 tuşu sadece 1.

Bazı terminaller, aynı kodları kabuğa göndermek için sayısal tuş takımını otomatik olarak yeniden eşler. Ayrıca, bazı kabuklar (örneğin bash) sadece sayısal tuş takımlarını ana bloktaki eşdeğerleri gibi yorumlayın.

zsh eşlemeyi otomatik olarak yapmaz, ancak bindkey haritalama işlemini kendi başınıza yapabilirsiniz. Bende aşağıdakiler var ~/.zshrc tuş takımının çalışmasını sağlamak için:

# 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 bağlandığı in-string için out-string. Eğer in-string yazıldı out-string geri itilir ve girdi olarak kabul edilir.

Gerçek kodlar (örneğin ^[Oq) sisteminizde farklı olabilir. Tuşuna basabilirsiniz Ctrl+v ve ardından terminalinizin kodunu almak için söz konusu anahtarı takip edin.


Cevap için 16 № 2

@Adaephon'un verdiği cevabı tamamlamak için, Apple USB klavye (A1243) için doğru bağlantılar aşağıdadır. Bunların ~/.zshrc.

# Fix numeric keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
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 "^[Ol" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"
bindkey -s "^[OX" "="

Cevap için 4 № 3

Ayrıca @adaephon cevap tamamlamak. İşte Dell Masaüstü bilgisayarım için kullanmam gereken şey yardımcı olabilir. Sadece .zshrc dosyanıza ekleyin.

(BTW tüm cevaplardan bağlayıcı eklemez, anahtar başına sadece bir bağlayıcı olması gerekir)

# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
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 "^[OQ" "/"
bindkey -s "^[OR" "*"
bindkey -s "^[OS" "-"
bindkey -s "^[Ol" "+"
#END Keypad

Cevap için 3 № 4

Mac OSX El Capitan'ımda nokta anahtarı ^[0n onun yerine ^[01. Ayrıca Mac için bir Logitech kablosuz klavyem var ve bir = sayısal tuş takımını da işaretleyin. Son eşlemem aşağıdaki gibi görünüyor:

# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
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 "^[OX" "="

Ancak başkalarının önerdiği çözüm düzgün çalışıyor.


1 cevap için № 5

SSH'de bir linux sunucusuna erişmek için tuş takımını kullanıyorsanız ve tuş takımının Bash ile iyi çalıştığını, ancak ZSH ile çalışmadığını düşünüyorsanız, aşağıdakileri eklemeyi deneyebilirsiniz: ~/.zshrc yapılandırma dosyası:

# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
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 "^[Ol" "+"
bindkey -s "^[OS" "-"
bindkey -s "^[OR" "*"
bindkey -s "^[OQ" "/"

Kayıt etmek. Oturumu kapatın ve ZSH yapılandırmasını yeniden yüklemek için tekrar oturum açın veya alternatif olarak terminalinize aşağıdakileri yazabilirsiniz:

. ~/.zshrc

Tuş takımı artık beklendiği gibi çalışmalıdır!


İlgili sorular
Yorumlar
Yorum ekle