Chúng ta có một bảng ràng buộc chính có thể dịch tất cả các cách khác nhau để đề cập đến một phím bấm không? Tôi đang sử dụng zsh
, nhưng tôi cho rằng nếu có một bảng như vậy thì nó sẽ hoạt động với mọi vỏ.
Lý do tôi hỏi là tôi muốn chỉ định một số tổ hợp phím và tôi không có cách nào để biết cách giới thiệu chúng (trừ khi tôi sẽ ăn cắp một cái đã được xác định).
Ví dụ: trong 'zbindkey', chúng ta có loại điều này:
[[ "$terminfo[kend]" == " O"* ]] && \
bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
... Và tôi có thể đoán rằng "kend" có nghĩa là điều này đề cập đến Endkhóa.
Kiểm tra chéo với bindkey
tôi thấy những dòng này:
"^E" end-of-line
"^[OF" end-of-line
"^[[F" end-of-line
... vì vậy tôi tin rằng một trong những dòng đó đề cập đến Endkhóa. Cái nào?
Chúng tôi cũng có cái này trong tập tin "bindkey":
bindkey "\e[A" history-beginning-search-backward
Bây giờ, tôi tình cờ biết rằng đó là Up Arrowchìa khóa, nhưng làm thế nào tôi có thể tìm ra nếu tôi không biết?
$ bindkey (at CLI)
... Cung cấp cho chúng tôi một ngôn ngữ khác nhau cho cùng một khóa:
"^[[A" history-beginning-search-backward
... nhưng ít nhất bây giờ tôi biết rằng ^[[A
trong bindkey-at-CLI speak cũng giống như \e[A
trong bindkey-in-zbindkey. Điều đó thật dễ dàng. Ngày xưa trong DOS, Up Arrow là 0;72
- bạn có thể tìm thấy mã quét của mọi tổ hợp phím hợp pháp và chỉ có một ngôn ngữ.
Có cái bàn không? Hoặc một số cách khác để có thể chọn tổ hợp phím và biết cách tham chiếu nó trong terminfo[]
... trong "bindkey-in-zbindkey" ... trong "bindkey-at-CLI" và / hoặc bằng bất kỳ ngôn ngữ nào khác có thể xảy ra?
Một lần nữa, trong DOS có scancode
chương trình - gõ một tổ hợp phím và bạn đã có scancode. Thật là dễ dàng tội lỗi.
Từ câu trả lời tôi đoán sau đó không có cách nào để in ra một bảng của tất cả các ràng buộc có thể? Dù sao, 'bindkey' thực hiện gần như những gì tôi muốn:
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
...
ít nhất tôi có thể thấy tất cả các ràng buộc hiện có, ngay cả khi không phải tất cả các ràng buộc có thể . Bây giờ, nếu chỉ có một số cách dịch các glyph chính thành các thuật ngữ 'thông thường':
bindkey "Home" beginning-of-line
... Sau đó tôi sẽ hạnh phúc.
stty -a
nóilnext
là) sau đó nhấn phím.