mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-01-31 04:58:21 +00:00
1 line
7.6 KiB
JSON
1 line
7.6 KiB
JSON
{"pageProps":{"metadata":{"date":"\"2021-04-21 16:26:50 +08:00\"","date_modified":"\"2021-07-22 14:25:46 +08:00\"","language":"en","source":""},"title":"Using the built-in help system of Emacs","hast":{"type":"root","children":[{"type":"element","tagName":"nav","properties":{"className":"toc"},"children":[{"type":"element","tagName":"ol","properties":{"className":"toc-level toc-level-1"},"children":[{"type":"element","tagName":"li","data":{"hookArgs":[{"type":"element","tagName":"h1","properties":{"id":"general-help-system"},"children":[{"type":"text","value":"General help system"}]}]},"properties":{"className":"toc-item toc-item-h1"},"children":[{"type":"element","tagName":"a","properties":{"className":"toc-link toc-link-h1","href":"/editor.emacs.help-system#general-help-system"},"children":[{"type":"text","value":"General help system"}]}]},{"type":"element","tagName":"li","data":{"hookArgs":[{"type":"element","tagName":"h1","properties":{"id":"evil-mode"},"children":[{"type":"text","value":"evil-mode"}]}]},"properties":{"className":"toc-item toc-item-h1"},"children":[{"type":"element","tagName":"a","properties":{"className":"toc-link toc-link-h1","href":"/editor.emacs.help-system#evil-mode"},"children":[{"type":"text","value":"evil-mode"}]}]},{"type":"element","tagName":"li","data":{"hookArgs":[{"type":"element","tagName":"h1","properties":{"id":"doom-emacs-specific"},"children":[{"type":"text","value":"Doom Emacs-specific"}]}]},"properties":{"className":"toc-item toc-item-h1"},"children":[{"type":"element","tagName":"a","properties":{"className":"toc-link toc-link-h1","href":"/editor.emacs.help-system#doom-emacs-specific"},"children":[{"type":"text","value":"Doom Emacs-specific"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"/2021-06-20-20-42-44"},"children":[{"type":"text","value":"GNU Emacs"}]},{"type":"text","value":", being a flexible program with a supremely overwhelming number of options to choose from (arguably), has a comprehensive help system.\n"}]},{"type":"element","tagName":"h1","properties":{"id":"general-help-system"},"children":[{"type":"text","value":"General help system"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"help-for-help"}]},{"type":"text","value":" is a function that gives you a metahelp interface to a number of options such as searching through pattern, logging the last keybindings, display the documentation from a keybinding, describe a language environment, and so on.\n Most, if not all, of the options presented can be accessed in another way.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"apropos"}]},{"type":"text","value":", like its similarly named Unix program, searches through the entire symbol list of Emacs (e.g., variable, function) through a pattern.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The series of functions from "},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"describe-*"}]},{"type":"text","value":" has multiple options for various specific things.\n Among the list of describe functions, I recommend to start with "},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"describe-key"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"describe-function"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"describe-variable"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"describe-package"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"describe-mode"}]},{"type":"text","value":", and "},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"describe-variable"}]},{"type":"text","value":".\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Most of the objects (e.g., functions, variables, hooks) in Emacs also require a docstring so you'll have more relevant information at hand.\n"}]}]}]},{"type":"element","tagName":"h1","properties":{"id":"evil-mode"},"children":[{"type":"text","value":"evil-mode"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"evil-mode, being inspired from Vim keybindings, adds further into more ways for an instant access to documentation.\n"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"evil-lookup"}]},{"type":"text","value":", similar to Vim's lookup key ("},{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":":help K"}]},{"type":"text","value":"), searches through documentation of the language written on.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"evil-goto-definition"}]},{"type":"text","value":" can sometimes go into the original file where the keyword was defined.\n It is only useful when the keyword is defined in the project or at least located on the project root.\n"}]}]}]},{"type":"element","tagName":"h1","properties":{"id":"doom-emacs-specific"},"children":[{"type":"text","value":"Doom Emacs-specific"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"doom/help"}]},{"type":"text","value":" for Doom-specific documentations.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"doom/help-faq"}]},{"type":"text","value":" jumps ahead into the FAQ file with a convenient interface.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["inline-code"]},"children":[{"type":"text","value":"doom/help-modules"}]},{"type":"text","value":" prompts you to search the documentation for Doom modules.\n"}]}]}]}]},"backlinks":[{"path":"/2021-04-06-22-25-17","title":"Prefer referencing over remembering"},{"path":"/2021-06-20-20-42-44","title":"GNU Emacs"}]},"__N_SSG":true} |