Search code examples
emacselisp

Show Keys In Emacs Keymap Value


When I query the current value of the keymap, eg with M-: (current-local-map), it shows me something along these lines:

Value: 
(keymap
 (S-mouse-2 . muse-follow-name-at-mouse-other-window)
 (mouse-2 . muse-follow-name-at-mouse)
 (33554445 . muse-follow-name-at-point-other-window)
 (S-return . muse-follow-name-at-point-other-window)
 (13 . muse-follow-name-at-point)
 (return . muse-follow-name-at-point)
 keymap
 (67108924 . muse-decrease-list-item-indentation)
 (67108926 . muse-increase-list-item-indentation)
 (M-return . muse-insert-list-item)
 (33554441 . muse-previous-reference)
 (S-iso-lefttab . muse-previous-reference)
 (S-tab . muse-previous-reference)
 (S-mouse-2 . muse-follow-name-at-mouse-other-window)
 (mouse-2 . muse-follow-name-at-mouse)
 (33554445 . muse-follow-name-at-point-other-window)
 (9 . muse-next-reference)
 (tab . muse-next-reference)
 (3 keymap
    (19 . muse-search)
    (2 . muse-find-backlinks)
    (tab . muse-insert-thing)
    (9 . muse-insert-thing)
    (16 . muse-project-publish)
    (6 . muse-project-find-file)
    (61 . muse-what-changed)
    (22 . muse-browse-result)
    (27 keymap
        (20 . muse-publish-this-file))
    (33554452 . muse-publish-this-file)
    (20 . muse-project-publish-this-file)
    (12 . font-lock-mode)
    (5 . muse-edit-link-at-point)
    (1 . muse-index))
 keymap
 (27 keymap
     (9 . ispell-complete-word)))

I want instead of numbers see something more meaningful like (control ?c) return for example. How do I do that ?


Solution

  • This is what you need: library help-fns+.el.

    That gives you, as C-h M-k, command describe-keymap, which gives you a human-readable description of any keymap bound to a variable. E.g.:

    C-h M-k dired-mode-map

    
        dired-mode-map
        --------------
    
    
    
        For more information check the manuals.
    
        Local keymap for `dired-mode' buffers.
    
        key             binding
        ---             -------
    
        e .. f      dired-find-file
    
        RET     dired-find-file
        C-o     dired-display-file
        C-t     Prefix Command
        ESC     Prefix Command
        SPC     dired-next-line
        !       dired-do-shell-command
        #       dired-flag-auto-save-files
        $       dired-hide-subdir
        %       Prefix Command
        &       dired-do-async-shell-command
        *       Prefix Command
        +       dired-create-directory
        -       negative-argument
        .       dired-clean-directory
        0 .. 9      digit-argument
        :       Prefix Command
               dired-next-dirline
        ?       dired-summary
        A       dired-do-search
        B       dired-do-byte-compile
        C       dired-do-copy
        D       dired-do-delete
        G       dired-do-chgrp
        H       dired-do-hardlink
        L       dired-do-load
        M       dired-do-chmod
        O       dired-do-chown
        P       dired-do-print
        Q       dired-do-query-replace-regexp
        R       dired-do-rename
        S       dired-do-symlink
        T       dired-do-touch
        U       dired-unmark-all-marks
        X       dired-do-shell-command
        Z       dired-do-compress
        ^       dired-up-directory
        a       dired-find-alternate-file
        d       dired-flag-file-deletion
        g       revert-buffer
        h       describe-mode
        i       dired-maybe-insert-subdir
        j       dired-goto-file
        k       dired-do-kill-lines
        l       dired-do-redisplay
        m       dired-mark
        n       dired-next-line
        o       dired-find-file-other-window
        p       dired-previous-line
        q       quit-window
        s       dired-sort-toggle-or-edit
        t       dired-toggle-marks
        u       dired-unmark
        v       dired-view-file
        w       dired-copy-filename-as-kill
        x       dired-do-flagged-delete
        y       dired-show-file-type
        z       kill-this-buffer
        ~       dired-flag-backup-files
        DEL     dired-unmark-backward
           mouse-face
           dired-mouse-find-file-other-window
             ??
    
        C-t C-t     image-dired-dired-toggle-marked-thumbs
        C-t .       image-dired-display-thumb
        C-t a       image-dired-display-thumbs-append
        C-t c       image-dired-dired-comment-files
        C-t d       image-dired-display-thumbs
        C-t e       image-dired-dired-edit-comment-and-tags
        C-t f       image-dired-mark-tagged-files
        C-t i       image-dired-dired-display-image
        C-t j       image-dired-jump-thumbnail-buffer
        C-t r       image-dired-delete-tag
        C-t t       image-dired-tag-files
        C-t x       image-dired-dired-display-external
    
        C-M-d       dired-tree-down
        C-M-n       dired-next-subdir
        C-M-p       dired-prev-subdir
        C-M-u       dired-tree-up
        M-$     dired-hide-all
        M-=     dired-backup-diff
        M-s     Prefix Command
        M-{     dired-prev-marked-file
        M-}     dired-next-marked-file
        M-DEL       dired-unmark-all-files
    
        M-s a       Prefix Command
        M-s f       Prefix Command
    
        % &     dired-flag-garbage-files
        % C     dired-do-copy-regexp
        % H     dired-do-hardlink-regexp
        % R     dired-do-rename-regexp
        % S     dired-do-symlink-regexp
        % d     dired-flag-files-regexp
        % g     dired-mark-files-containing-regexp
        % l     dired-downcase
        % m     dired-mark-files-regexp
        % r     dired-do-rename-regexp
        % u     dired-upcase
    
        * C-n       dired-next-marked-file
        * C-p       dired-prev-marked-file
        * !     dired-unmark-all-marks
        * %     dired-mark-files-regexp
        * *     dired-mark-executables
        * /     dired-mark-directories
        * ?     dired-unmark-all-files
        * @     dired-mark-symlinks
        * c     dired-change-marks
        * m     dired-mark
        * s     dired-mark-subdir-files
        * t     dired-toggle-marks
        * u     dired-unmark
        * DEL       dired-unmark-backward
    
        : d     epa-dired-do-decrypt
        : e     epa-dired-do-encrypt
        : s     epa-dired-do-sign
        : v     epa-dired-do-verify
    
            dired-undo
              dired-next-line
              dired-previous-line
           dired-toggle-read-only
                   dired-undo
    
        M-s f C-s   dired-isearch-filenames
        M-s f ESC   Prefix Command
    
        M-s a C-s   dired-do-isearch
        M-s a ESC   Prefix Command
    
        M-s f C-M-s dired-isearch-filenames-regexp
    
        M-s a C-M-s dired-do-isearch-regexp