在 emacs ido 选项中,当前选择的选项总是首先显示在列表中。当我们通过箭头键或 Cs / Cr 进行更改时:整个列表被旋转,而不是当前选择的选项移动到任何地方。这对我来说非常令人不安。为了说明,假设 A、B、C 和 D 是缓冲区,我们正在运行 ido-switch-buffer
- 当前行为
*A B C D
按 Cs
*B* CDA
再次按 Cs
*C* 民建联
- 我想要的是
*A B C D
按 Cs
A B C D
再次按 Cs
A B C D
我尝试将 "ido-rotate" 和 "ido-rotate-file-list-default" 都设置为 nil 和 t,一一设置,但在这方面没有任何变化。我也没有在 ido 的自定义组中看到任何其他选项。如何使所选选项移动而不是整个列表旋转?
这适用于 emacs 26.1,内置 ido。
编辑:使用常规 ido 模式,我可以通过以下方式覆盖下一个以前的键绑定:
(define-key ido-buffer-completion-map (kbd "M-)") 'ido-next-match)
使用 ido-grid-mode,我所有的尝试都失败了。似乎坚持使用硬编码的密钥集来查找下一个选项/上一个选项。这也不起作用:
(define-key ido-completion-map (kbd "M-)") 'ido-next-match)
我可以让 ido-grid-mode 的任何提示让我覆盖键?