In Icicles, like in vanilla Emacs, the minibuffer is a normal editing buffer in most respects, i.e., aside from keys that have particular behavior, such as TAB
during completion.
In particular, Icicles does not bind keys such as C-p
and C-n
, so they have their usual, global behavior, including in the minibuffer: previous-line
and next-line
, respectively.
As such, they're useful when you have multiple-line minibuffer input and you want to move the cursor among the lines. That's an important use case, but otherwise, those keys aren't useful in the minibuffer.
So no, those keys don't "close" the minibuffer (unless you've got something else going on, e.g. your global binding of those keys causes the minibuffer to be exited).
Your real question, I guess, is how to "move among" the current completion candidates.
That can mean at least 3 things in Icicles (actually more):
Cycle among them, make each in turn the current completion candidate. For this you use keys such as <up>
and <down>
(vertical arrows).
Cycle among them (#1), and act on each of them in turn, using the command's action. For this you use keys such as <C-up>
and <C-down>
(Control + vertical arrows).
Cycle among them (#1), and show help for each of them in turn. For this you use keys such as <C-M-up>
and <C-M-down>
(Control + Meta + vertical arrows).
The actual keys are the values of these user options:
icicle-modal-cycle-down-keys
(down
)
icicle-modal-cycle-up-keys
(up
)
icicle-modal-cycle-down-action-keys
(C-down
)
icicle-modal-cycle-up-action-keys
(C-up
)
icicle-modal-cycle-down-help-keys
(C-M-down
)
icicle-modal-cycle-up-help-keys
(C-M-up
)
This is all described clearly in the doc. Here's a page about customizing key bindings.
Update after you edited the question to ask how to customize option icicle-modal-cycle-down-keys
:
You say that you set that option value to ([C-n] [down] [nil mouse-5] [mouse-5])
, and that didn't help.
That's because [C-n]
is not a valid key representation for C-n
.
Instead, try "C-n"
, or [(control ?n)]
, or [?\C-n]
, or "^N"
(where you use C-q C-n
to insert the ^N
(Control N) character - it's not the 2 chars ^N
, but I can't show that here).
(And you need to toggle icy-mode
off and on again, for the key-bindings change to take effect.)
See (emacs) Init Rebinding.