Emacs: in khóa liên kết cho một lệnh hoặc liệt kê tất cả các liên kết khóa


100

Trong Emacs (GNU 23.2, * nix), tôi có thể:

  1. liệt kê các chuỗi khóa liên kết với một lệnh cụ thể? Ví dụ, làm thế nào chúng ta có thể liệt kê tất cả các chuỗi khóa thực thi save-buffers-kill-emacs, với đầu ra của các chuỗi khóa được ràng buộc với nó? Giả sử chúng ta có thể làm điều này, liệt kê các chuỗi khóa được ràng buộc với goto-linesẽ in ra kết quả: M-g gtrên cài đặt mặc định.
  2. liệt kê tất cả các ràng buộc khóa? Làm được C-h bđiều này? Nó sẽ in các ràng buộc của riêng tôi?

Tôi biết rằng việc thực thi lệnh trực tiếp có thể in ra một chuỗi khóa mà nó có thể được kích hoạt, nhưng không phải lúc nào nó cũng làm như vậy và một số điều xảy ra, bao gồm:
(1) đầu ra không duy trì lâu, (2 ) lệnh được thực hiện.

Tôi muốn một lệnh liệt kê cho tôi (tốt nhất là tất cả) các ràng buộc được đính kèm với một lệnh nhất định, mà không thực hiện lệnh hoặc tương tự như vậy.

Câu trả lời:


138
  1. C-h f(hoặc M-x describe-function) sẽ hiển thị cho bạn các ràng buộc cho một lệnh.

  2. Bạn đúng, C-h b(hoặc M-x describe-bindings) sẽ cho bạn thấy tất cả các ràng buộc. C-h m( M-x describe-mode) cũng thuận tiện để liệt kê các ràng buộc theo chế độ.

Bạn cũng có thể thử C-h k( M-x describe-key) để hiển thị lệnh nào được liên kết với một khóa. Ví dụ: trên máy tính của tôi save-buffers-kill-emacskhông bị ràng buộc với bất kỳ thứ gì, nhưng C-h k C-x C-cnói với tôi rằng điều đó C-x C-cbị ràng buộc save-buffers-kill-terminal. Nó sẽ liệt kê tất cả các ràng buộc cho lệnh cùng một lúc.


10
+1, Ngoài ra, còn có C-h c(hoặc M-x describe-key-briefly) chỉ cung cấp chức năng mà một khóa được gán cho không gian bộ đệm nhỏ.
Shannon thôi việc vào

Không chắc đây có phải là một câu hỏi riêng hay không, nhưng liệu có thể hiển thị tất cả các liên kết / chức năng bắt đầu bằng một phím cụ thể không? Ví dụ, những ràng buộc nào bắt đầu bằng <f2>? Nhấn <f2> sau "Ch m" không hoạt động vì Emacs đang đợi phím thứ hai.
SabreWolfy

1
Đã hỏi như một câu hỏi mới tại đây: stackoverflow.com/questions/10330510/…
SabreWolfy,

37

Làm thế nào về chỉ

M-x where-is <COMMAND>

Bạn nhận được thông tin giống như bạn nhận được với C-h f.

Cũng bị ràng buộc với C-h w, <f1> w<help> w.


Đây thực sự là câu trả lời chính xác cho câu hỏi đầu tiên, vì describe-functionkhông liệt kê tất cả các ràng buộc cho các hàm như ignorehoặc self-insert-command.
David Ongaro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.