在Emacs中,关闭当前缓冲区的关键序列是什么?

85
如果我点击菜单 文件关闭,它会按照我想要的方式关闭缓冲区,但是它没有列出相应的按键映射。请问按键映射是什么?

3
所选答案并没有回答你的问题,另一个答案才是正确的。 - roundar
5个回答

117
你可以使用 Ctrl + XK 来关闭当前缓冲区。请参阅Emacs 手册

6
由于问题要求如何关闭当前的缓冲区,因此使用映射到s-kkill-this-buffer 更快。 参见:https://dev59.com/N3VC5IYBdhLWcg3wsTjv#26592985 - David J.
1
这不会关闭缓冲区。在某些人扭曲的思维中,缓冲区保持打开状态,并填充另一个缓冲区的内容。是哪个白痴负责这可怕的用户体验???让感兴趣的缓冲区占据终端的80x24有多难? - jww
我刚刚意识到 s-k => 's' => 是“超级”键,哈哈.. 我以前从不知道什么是超级键。 - 1234
C-x k并不会“杀死”(不管那意味着什么)当前的缓冲区,而只是清空它。如果我在“杀死”一个缓冲区后执行C-x b,它仍然会出现在列表中。如何杀死缓冲区并从列表中删除它? - HarryH

33

BKB已经给出了正确的答案。我只是想补充一下,C-h b列出了当前缓冲区中适用的键绑定。


3
当你第一次在emacs中编辑新类型的文件时,C-h b是一个救命稻草。 - Branan
17
很遗憾,用户BKB(27055号)删除了他的所有答案。该答案(来自谷歌缓存)是:“C-x k关闭当前缓冲区,C-x #关闭服务器缓冲区(如果您使用Emacsclient)”。 - CesarB

23
问题是如何关闭当前缓冲区。使用 M-x kill-this-buffer。在我的Emacs中,它被映射为 s-k。按键次数越少越好!
默认情况下,'s'(代表超级键)在大多数键盘上是Windows键,在Mac上是Command键。

1
s-k?就是Shift键和字母K键同时按下的意思? - Vladimir Panteleev
2
's' 就像 'super' 一样。在 OS X 上,它对应于 Command / Apple 键。 - David J.
谢谢,我之前不知道这个规定。 - Vladimir Panteleev
当显式地使用Shift修饰键时,Emacs中的键表示法中会将其写为大写的 S。通常情况下,它是隐含的(例如,使用 M-% 而不是 M-S-5,使用 C-c H 而不是 C-c S-h)。 - phils
2
在Linux上,“s” / “super”键的等效键是什么?是否有替代键可用? - vfclists
1
如果您使用的是标准非 Mac 键盘,则超级键是“Windows”键,通常位于 Ctrl 和 Alt 之间。 - xdavidliu

22

嗯,您可以使用Help命令(C-h)查看任何功能的快捷方式。

C-hw,然后像在M-x模式下一样输入命令名称。


例如(在您的情况下):

  1. C-hw
  2. 键入命令名称:kill-buffer (您也可以使用tab / space进行自动完成 :))
  3. RET

希望这有所帮助 :)


11
  1. 使用C-x k关闭当前缓冲区。
  2. 使用C-x 0关闭当前窗口。
  3. 使用C-x 1关闭除了当前窗口以外的所有其他窗口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接