[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Find all commands bound to key prefix
From: |
Pascal Bourguignon |
Subject: |
Re: Find all commands bound to key prefix |
Date: |
Fri, 04 Apr 2008 07:45:45 +0200 |
User-agent: |
Gnus/5.1008 (Gnus v5.10.8) Emacs/22.1.50 (gnu/linux) |
"Drew Adams" <drew.adams@oracle.com> writes:
>> > I'd like to see a list of commands that are bound to key sequences
>> > that starts with some prefix (e.g., C-x C-v). How do I do that?
>>
>> if you mean a prefix like C-x you can get the possible completions
>> by C-x C-h
>
> That doesn't work for all (even most) prefixes. It doesn't work for C-s, for
> instance (isearch-mode-map).
Here is a command that gives you a list of all the bindings. A little
slow, but exhaustive AFAIK.
(defmacro rloop (clauses &rest body)
(if (null clauses)
`(progn ,@body)
`(loop ,@(car clauses) do (rloop ,(cdr clauses) ,@body))))
(defun all-bindings ()
(interactive)
(message "all-bindings: wait a few seconds please...")
(let ((data
(with-output-to-string
(let ((bindings '()))
(rloop ((for C in '("" "C-")) ; Control
(for M in '("" "M-")) ; Meta
(for A in '("" "A-")) ; Alt
(for S in '("" "S-")) ; Shift
(for H in '("" "H-")) ; Hyper
(for s in '("" "s-")) ; super
(for x from 32 to 127))
(let* ((k (format "%s%s%s%s%s%s%c" C M A S H s x))
(key (ignore-errors (read-kbd-macro k))))
(when key
(push
(list k
(format "%-12s %-12s %S\n" k key
(or
;; (string-key-binding key)
;; What is this string-key-binding?
(key-binding key))))
bindings))))
(dolist (item
(sort bindings
(lambda (a b)
(or (< (length (first a))
(length (first b)))
(and (= (length (first a))
(length (first b)))
(string< (first a)
(first b)))))))
(princ (second item)))))))
(switch-to-buffer (format "Keybindings in %s" (buffer-name)))
(erase-buffer)
(insert data)
(goto-char (point-min))
(values)))
--
__Pascal Bourguignon__ http://www.informatimago.com/
Wanna go outside.
Oh, no! Help! I got outside!
Let me back inside!
- Re: Find all commands bound to key prefix, (continued)
- Re: Find all commands bound to key prefix, Tassilo Horn, 2008/04/04
- Re: Find all commands bound to key prefix, Peter Dyballa, 2008/04/04
- Re: Find all commands bound to key prefix, Tassilo Horn, 2008/04/04
- Re: Find all commands bound to key prefix, Peter Dyballa, 2008/04/04
- Message not available
- Re: Find all commands bound to key prefix, Alan, 2008/04/06
- RE: Find all commands bound to key prefix, Drew Adams, 2008/04/07
- Message not available
- Re: Find all commands bound to key prefix, rustom, 2008/04/04
- RE: Find all commands bound to key prefix, Drew Adams, 2008/04/04
Re: Find all commands bound to key prefix, rustom, 2008/04/03
Re: Find all commands bound to key prefix, Jens Teich, 2008/04/05