如何让Emacs(没有GUI)区分Ctrl + Shift + S和Ctrl + S?

时间:2010-01-20 19:58:19

标签: emacs keyboard-shortcuts

我正在尝试教授Emacs标准快捷键。我使用来自Debian的emacs23-nox版本,通常是通过SSH连接。其中一个是 SaveAs 的 CTRL + SHIFT + S 。配置的相关部分如下所示:

    (global-set-key (kbd "C-S") 'write-file)
    (global-set-key (kbd "C-s") 'save-buffer)

但导致 CTRL + SHIFT + S CTRL + S 调用'save-buffer(或'write-file,具体取决于最后一行。我还尝试了"C-S-s"而不是"C-S"

不使用Why Emacs's Keyboard Shortcuts Are Painful的Shift键部分说不可能。我读了this answer,但接受的解决方案对我不起作用(Ch k CTRL + SHIFT + S 打印Cs)

有没有办法让Emacs(无GUI版本)区分 CTRL + SHIFT + S CTRL < / KBD> + 取值

2 个答案:

答案 0 :(得分:5)

您不能,大写控制字符的字符集中没有任何规定。转移控制的唯一方法是直接进入窗口系统,因此需要GUI版本。

答案 1 :(得分:0)

澄清一点:如果您正在使用带有窗口管理器的Emacs,那么您可以绑定密钥[(control shift ?s)],即 CSs (又名 CS ,但不是这样在Emacs中写的)。这个键肯定不同于ASCII控制字符C-s,它没有小写/大写版本。

所以答案是(a)你必须使用图形终端; (b)绑定[(control shift ?s)]以获得大写版本。