Sometimes I want to get key bindings of command for implementing like following command. Please see mini-buffer.
(where-is-internal func &optional map ...)
where-is-internal returns list of keys of command(
func) from map. For example
(where-is-internal 'next-line global-map) ;; => ( [down])
[down] is down arrow key. Type of return value is list of key vector. It should be converted to human readable style.
key-description returns a pretty description of key-sequence. For example
(key-description ) ;; => "C-n"
So we can write the function which returns human readable key sequence from the command
(cl-defun function-to-keybinds (func &optional (map global-map)) (key-description (car-safe (where-is-internal func map)))) (function-to-keybinds #'next-line) ;; => "C-n" (function-to-keybinds #'python-shell-send-string python-mode-map) ;; => "C-c C-s"