shell模式下的Emacs lisp键绑定无法正常工作

时间:2015-11-11 14:16:22

标签: emacs

当我按Ctrl-z时,我设置了emacs编辑器以运行shell。当在shell缓冲区内时,我使用Ctrl-z通过运行erase-buffer函数来清除缓冲区。正在评估代码(当我Ctrl-h v并描述shell-mode-map我可以看到C-z在shell模式下绑定到clear-shell-buffer。当我运行{{1}时} clear-shell-buffer消息说:

  

您可以使用< C-z>

运行命令M-x

但是,当我在shell中键入clear-shell-buffer时,它不会运行该函数或根本不提供任何消息。知道为什么吗?

Ctrl-z

1 个答案:

答案 0 :(得分:1)

由于密钥绑定不正确,这种情况正在发生。您可以在shell模式下执行std::hex来验证这一点。

而不是C-h k C-z,请使用以下选项之一:

  • [(\C-z)]
  • [(?\C-z)]
  • [(control ?z)]

将正确设置键绑定,并允许您使用(kbd "C-z")

调用正确的函数

如果仅评估这些陈述,您可以看到一些正在发生的事情。这是我为每个

获得的输出
C-z

您可以看到键绑定的类型不同。现在,当你想要传递一个字符代码时,你传递了一个符号。