Vanilla Emacs doesn't, but Icicles does. See Inserting Text from Cursor.
The key sequence M-.
grabs one or more text things at point (the cursor position) in the current buffer and inserts them at point in the minibuffer. This is available whenever the minibuffer is active.
You can customize the behavior of M-.
, and when you use it you can control what it does.
When you use M-.
repeatedly it can either:
- Grab something different each time, (removing the last one inserted), giving you a way to use
M-.
to cycle to a particular thing at point.
or
- Grab another thing of the same kind, giving you a way to insert successive things of a given type (e.g. word) in the minibuffer.
Which it does by default is controlled by an option, but you can use a prefix argument to flip the behavior temporarily.
It is really simple to use, even if it is also very configurable and you can change its behavior on the fly (i.e., as you use it).
[And yes, vanilla Emacs should have something similar - at least some way to grab something at point and insert it into the minibuffer. Suggestions for that have gone nowhere, alas. Such a feature is available for incremental search (Isearch), at least, and has been for decades.]
describe-variable
while your cursor on the variable. It is bound toC-h v
. For help on functions, do the same withC-h f
. It should pop the name of the variable as the default option into the minibuffer.