【问题标题】:How to make Emacs (without GUI) differentiate between Ctrl+Shift+S and Ctrl+S?如何使 Emacs(无 GUI)区分 Ctrl+Shift+S 和 Ctrl+S?
【发布时间】:2011-01-07 10:48:17
【问题描述】:

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

(global-set-key (kbd "C-S") '写文件) (global-set-key (kbd "C-s") 'save-buffer)

但同时导致 CTRL+SHIFT+SCTRL+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+SCTRL+S?

【问题讨论】:

    标签: emacs keyboard-shortcuts


    【解决方案1】:

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

    【讨论】:

    • 在相关说明中,最好将带有 shift 和 control 的键绑定到需要 GUI 的命令。因为未绑定的键在终端 Emacs 中是稀缺资源。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-25
      • 2018-11-17
      • 2013-01-29
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多