emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: GNU Emacs raison d'etre


From: Drew Adams
Subject: RE: GNU Emacs raison d'etre
Date: Thu, 14 May 2020 09:37:01 -0700 (PDT)

> one of the things we should prioritize is teaching newcomers
> how important those help facilities are and how to use them
> in a smart way.  

This is something I've long tried to promote.

The first thing (one of them), to get new users
to learn (by tutorial, video, or otherwise) is
how to "Ask Emacs".  That starts with the help
commands, but it can go as deep as one wants,
including how to ask Emacs in its source code.

And of the help commands, the first and most
important to learn are those that let you know
what just happened, what you did, where you are
now, and what you can do.

That includes `C-g' (yes, it can also be a help
command - get me out of here!), and `C-h l'
(which should be enhanced, IMO), `C-]', and
`M-x top-level' (or `M-: (top-level)', or bind
it to a key).

In my library `menu-bar+.el', I even add, as the
first item in menu-bar menu `Help', this submenu:

 Whoops!?
   Cancel Current Action  C-g
   Back to Top Level
   What did I do!?        C-h l

And in submenu `Describe' of menu `Help', I add
item `This...' (i.e., describe this).  It gives
you help about a key/menu sequence or a display
object you click with the mouse (e.g., part of a
window or a name somewhere as buffer text).  You
can do any of these things at its prompt:

    type a key sequence
    choose a menu item
    click on a scroll bar
    click on the mode line
    click in the minibuffer
    click on an Emacs-related name in a buffer
    click anywhere else in a buffer

For the last two: clicking on a name invokes
`apropos'.  Clicking elsewhere describes the
buffer's modes.

Most such help is from `describe-key' or the
manual (`Info-goto-emacs-key-command-node').
(My version of that Info command searches for
the key name with `Info-search' if it can't
find it in the usual ways.)

Dunno whether anyone uses such things, but I
thought they might help.

Beyond that, being able to tell what keys are
usable in the current context (any context),
and what they do, is super-important for both
learning and orienting yourself when you think
you're lost.

In that regard, my main offer is Icicles key
completion.  An alternative which is popular
is `which-key'.

On one of the wiki pages describing Icicles,
there are sections that cover the following
"Ask Emacs" topics, all of which I think are
important for newbies (independently of how
Icicles can help with them):

 * See what you can do at any moment:

   . See which possible inputs are expected by a
     command that reads input → PossibleInputs

   . See which key sequences are currently
     available, which of them are general vs
     which are local, and what each of them does
     → PossibleKeyBindings

 * See individual descriptions of the possible
   inputs, that is, help on completion candidates
   → CandidateHelp

 * Find menu items more easily → FindMenuItems

 * Find commands more easily → FindCommands

 * Find help in the doc → FindStuffInManuals

 * Learn how to use regexps → LearnAboutRegexps

https://www.emacswiki.org/emacs/EmacsNewbieWithIcicles

> I'm specifically saying that this is *more
> important for Emacs than it is for other editors*.

100% agreement.

1. It's more important for Emacs (using, learning).
2. Emacs has more to offer in this regard.

> for Emacs users, using that built-in help is more
> important than it would be in other editors, and the
> methods and circumstances of using the help are
> different too.  So we should incorporate that fact
> into how we present Emacs to new users.

This.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]