In emacs ido options, the currently selected option is always shown first in the list. When we change e.g. by arrow keys, or C-s / C-r : the whole list is rotated instead of currently selected option moving anywhere. This is very disconcerting for me. To illustrate , assume A, B, C and D are buffers are we are running ido-switch-buffer
- Current behaviour
*A* B C D
Press C-s
*B* C D A
Again press C-s
*C* D A B
- What I want is
*A* B C D
Press C-s
A *B* C D
Again press C-s
A B *C* D
I tried setting both "ido-rotate" , and "ido-rotate-file-list-default" to nil as well as t, one by one, but nothing changes in this regard. I don't see any other option in customize-group for ido either. How can I make the selected option move instead of the whole list rotating ?
This is for emacs 26.1, built-in ido.
Edit : With the regular ido mode, I could override the next, previous key-bindings in the following manner :
(define-key ido-buffer-completion-map (kbd "M-)") 'ido-next-match)
With ido-grid-mode, all my attempts to do so are failing. It seems to insist on the hard-coded sets of keys to find next option / previous option. This is also not working :
(define-key ido-completion-map (kbd "M-)") 'ido-next-match)
Any hints I could make ido-grid-mode let me override keys ?
ido-rotateis an internal variable, not an option intended for the user. Maybe there's a package that does what you want;ido-grid-modeseems like it's kind of close. What happens when there are many candidates? It has to start scrolling or rotating at some point. - jpkotta