Bir tuşa basmanın çeşitli yollarını çeviren bir anahtar bağlama tablosumuz var mı? Ben kullanarak değilim zsh
, ama böyle bir tablo olsaydı şimdiye herhangi kabuk için çalışmak olacağını tahmin ediyorum.
Sormamın nedeni, bazı tuş bağlamalarını atamak istiyorum ve bunlara nasıl başvuracağımı bilmenin hiçbir yolu yok (daha önce tanımlanmış olanı çalamayacaksam).
Örneğin, 'zbindkey'de bu tür bir şey var:
[[ "$terminfo[kend]" == " O"* ]] && \
bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
... ve "kend" in bunun Endanahtar anlamına geldiği anlamına geldiğini tahmin edebilirim .
Çapraz kontrol ile bindkey
şu satırları görüyorum:
"^E" end-of-line
"^[OF" end-of-line
"^[[F" end-of-line
... bu yüzden bu satırlardan birinin Endanahtara atıfta bulunduğuna inanıyorum . Hangisi?
Ayrıca "bindkey" dosyasında da var:
bindkey "\e[A" history-beginning-search-backward
Şimdi, bunun Up Arrowanahtar olduğunu biliyorum , ama bilmediğimi nasıl öğrenebilirim?
$ bindkey (at CLI)
... bize aynı anahtar için farklı bir dil veriyor:
"^[[A" history-beginning-search-backward
... ama en azından şimdi ^[[A
bindkey-at-CLI konuşmasında \e[A
bindkey-in-zbindkey konuşmasıyla aynı şey olduğunu biliyorum. Bu kolay. DOS Eskiden, Up Arrow oldu 0;72
her yasal tuş tarama kodunu bulabildiğim ve tek bir dil yoktu -.
Orada bir masa var mı? Ya da bir tuş vuruşu terminfo[]
seçmenin ve buna nasıl atıfta bulunabileceğini bilmenin başka bir yolu ... "bindkey-in-zbindkey" ... "bindkey-at-CLI" ve / veya başka hangi dillerde olabilir olur mu?
Yine, DOS'ta scancode
program vardı - bir tuş vuruşu yazın ve tarama kodunu aldınız. Günahkâr kolaydı.
Sanırım cevaplardan tüm olası ciltlerin bir tablosunu yazdırmanın bir yolu yok mu? Neyse 'bindkey' neredeyse istediğimi yapıyor:
pts/2 HP-y5-10-Debian1 root /aWorking/Docs $ bindkey -L
bindkey "^@" set-mark-command
bindkey "^A" beginning-of-line
bindkey "^B" backward-char
bindkey "^D" delete-char-or-list
bindkey "^E" end-of-line
...
en azından olası tüm bağlantıları olmasa bile, mevcut tüm bağlantıları görebilirsiniz. Şimdi, anahtar glifleri 'normal' terimlere çevirmenin bir yolu olsaydı:
bindkey "Home" beginning-of-line
... o zaman mutlu olurdum.
stty -a
söylerselnext
) tuşuna basın.