当我按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
答案 0 :(得分:1)
由于密钥绑定不正确,这种情况正在发生。您可以在shell模式下执行std::hex
来验证这一点。
而不是C-h k C-z
,请使用以下选项之一:
[(\C-z)]
[(?\C-z)]
[(control ?z)]
将正确设置键绑定,并允许您使用(kbd "C-z")
如果仅评估这些陈述,您可以看到一些正在发生的事情。这是我为每个
获得的输出C-z
您可以看到键绑定的类型不同。现在,当你想要传递一个字符代码时,你传递了一个符号。