如何在Emacs中调用缓冲区列表

如何在Emacs中调用缓冲区列表,emacs,buffer,Emacs,Buffer,我通常键入M-xbuffer menu来切换Emacs中的缓冲区。如何使用较短的命令执行此操作?要键入的字符串相当长 谢谢 C-xc-b 如上所述 您可以使用C-x b更改缓冲区。您必须输入缓冲区名称的前几个字母,当然可以使用completion。如果按TAB(Emacs中最有用的键),将显示(匹配的)缓冲区列表。您可以在此列表中单击以切换到缓冲区 您可以将缓冲区菜单绑定到键。选择一个不用于另一个命令的键-比如说f12-并将以下行添加到文件~/.emacs: (global-set-key (k

我通常键入M-x
buffer menu
来切换Emacs中的缓冲区。如何使用较短的命令执行此操作?要键入的字符串相当长

谢谢

C-xc-b

如上所述
  • 您可以使用
    C-x b
    更改缓冲区。您必须输入缓冲区名称的前几个字母,当然可以使用completion。如果按
    TAB
    (Emacs中最有用的键),将显示(匹配的)缓冲区列表。您可以在此列表中单击以切换到缓冲区

  • 您可以将
    缓冲区菜单
    绑定到键。选择一个不用于另一个命令的键-比如说
    f12
    -并将以下行添加到文件
    ~/.emacs

    (global-set-key (kbd "<f12>") 'buffer-menu)
    
    (全局设置键(kbd“”)缓冲区菜单)
    
  • ,并且它们可以比
    C-xb
    C-xc-b
    更有效。由于这往往是一个非常个人的选择,我建议你尝试一些,并保留一(s)你觉得最舒服的


  • 我强烈建议切换到为高效缓冲区切换而设计的模式

    如果您的Emacs版本足够新(22+):

    然后:

    C-x b
    
    要切换缓冲区,使用增量子串匹配,
    C-s
    C-r
    在匹配中前后旋转

    如果您有旧版本的Emacs,它应该具有:

    M-x iswitchb-mode
    
    然后,与ido模式一样:

    C-x b
    
    打开迷你缓冲区,让您选择要切换到的缓冲区。

    试试bs show(我认为这是一种比C-x C-b更好的方式)。您可以通过将其添加到.emacs将其绑定到F9:

    (global-set-key (kbd "<f9>") 'bs-show)
    
    (全局设置键(kbd“”)bs show)
    
    将C-x C-b绑定到
    缓冲区菜单
    。将其绑定到
    列表缓冲区
    是没有意义的<代码>列表缓冲区只是
    缓冲区菜单
    的一个太监版本;-)


    您可能想试试这个:

    是的,谢谢,但我不喜欢它的一点是,屏幕分为两部分。更一般的一点是:C-h f函数名将为函数提供帮助,包括它可能绑定到的任何键。只是出于好奇:为什么要回滚我所做的编辑?@itsjeyd
    C-x b
    等是Emacs中键绑定的标准符号。在处理Emacs密钥时,请坚持使用该符号。参考实际键盘键时使用
    kbd
    标记,但要正确使用:例如,按键盘上的
    Ctrl+X
    然后按
    B
    (我在这里显示原始HTML,因为HTML标记不能在注释中使用)生成Emacs键序列
    `C-X B`
    。我一直认为“按下
    C-xb
    改变缓冲区”这样的句子是指(一系列)实际按下的键盘键。我不会在引用Elisp代码的上下文中使用
    符号。是否有定义这些标准的Meta-SO帖子(或帮助部分中我可能忽略的条目)?同样,我也很好奇,因为我已经看到很多帖子以不同(但一致)的方式使用了可用的标记选项,而不是你所建议的方式。@itsjeyd不知道一个元帖子。中的示例是
    ctrl+alt+del
    ,而不是
    ctrl-alt-del
    ,但这不是很有说服力。但是在我写了几篇文章解释了物理击键和应用程序键(例如修改键、ESC/Alt等)之间的区别之后,我可以证明这种区别是有用的。
    (global-set-key (kbd "<f9>") 'bs-show)