我刚刚将 emacs 从 23.4 升级到 24.1(在 OS X 上)。我使用emacs-入门套件,但它似乎不会影响 24.1 中的这种行为(我目前已禁用它),并且我很确定在我开始使用它之前我在 23 中得到了预期的行为。
在 23.4 中,如果我打开缓冲区“x”并打开文件“y”,则缓冲区列表会在“x”之前显示“y”,这意味着
- 而在缓冲区“x”中C-x <left>(
previous-buffer
)切换到缓冲区“y” - 而在缓冲区“y”中C-x <right>(
next-buffer
)切换到缓冲区“x”
当我使用时,这个顺序会发生改变C-x b,但我可以接受。
在 24.1 中打开文件似乎有时会重新排序缓冲区列表,有时会将文件添加到缓冲区列表中的当前缓冲区之后(取决于打开的文件数以及我运行C-x C-f打开另一个文件时当前缓冲区的位置)。这两种行为都不是我所期望的。我如何才能恢复 23.4(及更早版本)的行为?
我知道这看起来似乎微不足道,但在过去几年中,我已经训练自己期待一种特定的行为,C-x <left>而C-x <right>新的行为却让我感到困惑。
答案1
尝试这个
setq Buffer-menu-sort-column nil
如果您使用多个帧,则默认设置是将特定帧中从未选择的缓冲区列在最后。使用以下方法更改此设置
setq Buffer-menu-user-frame-buffer-list nil
(默认为吨)