4

Since I'm new to GNU Emacs (version 26.1 running on Debian Stable) I'd like to get some information when invoking a command using Meta-x. Currently I'm only able to see a list of possible completions but I have to guess what the commands are actually doing (although, to be honest, many of them are named very intuitively).

As an explanation: when I'm running

pac <tab> li <tab> <tab>

the following lines are shown in my minibuffer

Possible completions are:
package-list-packages
package-list-packages-no-fetch

but I'd like the following functionality

Possible completions are:
package-list-packages               Display a list of packages.
package-list-packages-no-fetch      Display a list of packages.

or something similar.

Is there a way to get this option? Additionally: can I do this without installing additional packages?

Drew
  • 75,699
  • 9
  • 109
  • 225
n0542344
  • 185
  • 4
  • 1
    Not quite what you want but once you have a completion list, you can switch to that buffer, move point to one of the functions and press `C-h f RET` to get its doc string. Then, move point to the next function and repeat. – NickD Oct 17 '20 at 15:26
  • @nickd: thanks, that was not what I asked for but never the less good to know! – n0542344 Oct 18 '20 at 17:47

2 Answers2

2

You may want to try ivy + ivy-rich.

The relevant section of the documentation has this screenshot:

enter image description here

You need to include the following lines in your init.el:

(require 'ivy)
(ivy-mode 1)
(require 'ivy-rich)
(ivy-rich-mode 1)
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)
(global-set-key (kbd "M-x") 'counsel-M-x)
NickD
  • 27,023
  • 3
  • 23
  • 42
Firmin Martin
  • 1,265
  • 7
  • 23
  • @formin-martin: thanks a lot, that was it! I needed to include some lines in my `init.el` and added them to your answer, I hope that's fine. – n0542344 Oct 18 '20 at 17:43
  • @n0542344 You're welcome! It's absolutely fine, actually I didn't include them on purpose as the READMEs are sufficiently clear. You can also use [use-package](https://github.com/jwiegley/use-package) to set up your configuration. – Firmin Martin Oct 18 '20 at 21:46
0

With Icicles such info is available anytime during completion (including for M-x), at the press of a key.

This feature, getting help on individual completion candidates, is described here.

Short summary: Use C-M-mouse-2 to show help on the completion candidate you click in buffer *Completions*. Or cycle to a candidate and use C-M-RET to show help on it.

In addition, short help for the current candidate (e.g. during cycling) is shown in the mode-line. This is typically the first line of its doc string, or other relevant short info.

You can also show the full help on candidates (in buffer *Help*) as you cycle, by cycling with C-M-down or C-M-up, instead of just down or up.

Drew
  • 75,699
  • 9
  • 109
  • 225