Do you forget how to get help describing things? I always do.
Here is how I remember.
Nearly everything is built in and I like it better than using the built-in help GUI.
(defhydra help/hydra/left/describe (:color blue :hint nil) " Describe Something: (q to quit) _a_ all help for everything screen _b_ bindings _B_ personal bindings _c_ char _C_ coding system _f_ function _F_ flycheck checker _i_ input method _k_ key briefly _K_ key _l_ language environment _L_ mode lineage _m_ major mode _M_ minor mode _n_ current coding system briefly _N_ current coding system full _o_ lighter indicator _O_ lighter symbol _p_ package _P_ text properties _s_ symbol _t_ theme _v_ variable _w_ where is something defined " ("b" describe-bindings) ("B" describe-personal-keybindings) ("C" describe-categories) ("c" describe-char) ("C" describe-coding-system) ("f" describe-function) ("F" flycheck-describe-checker) ("i" describe-input-method) ("K" describe-key) ("k" describe-key-briefly) ("l" describe-language-environment) ("L" help/parent-mode-display) ("M" describe-minor-mode) ("m" describe-mode) ("N" describe-current-coding-system) ("n" describe-current-coding-system-briefly) ("o" describe-minor-mode-from-indicator) ("O" describe-minor-mode-from-symbol) ("p" describe-package) ("P" describe-text-properties) ("q" nil) ("a" help) ("s" describe-symbol) ("t" describe-theme) ("v" describe-variable) ("w" where-is)) (global-set-key (kbd "M-i") nil) (global-set-key (kbd "M-i") #'help/hydra/left/describe/body) (use-package parent-mode :ensure t :config (defun help/parent-mode-display () "Display this buffer's mode hierarchy." (interactive) (let ((ls (parent-mode-list major-mode))) (princ ls)))) (use-package flycheck :ensure t :diminish flycheck-mode)
Nice.