2010-01-20 104 views
2

我試圖教Emacs標準的快捷鍵。我使用Debian的emacs23-nox版本,通常通過SSH連接。其中之一是CTRL + SHIFT +小號另存爲。配置的相關部分看起來是這樣的:如何使Emacs(無GUI)區分Ctrl + Shift + S和Ctrl + S?

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

,但會導致兩個都CTRL + SHIFT + 小號CTRL + 小號調用'save-buffer(或'write-file,取決於其全系標配持續)。我也試過"C-S-s"而不是"C-S"

沒有使用Shift鍵部分的Why Emacs's Keyboard Shortcuts Are Painful說這是不可能的。我讀this answer,但接受的解決方案不適用於我(C-hk CTRL + SHIFT + S打印C-s)。

有沒有一種方法,使Emacs的(無GUI版本)CTRL移動SCTRL小號之間 + + + 區別?

回答

5

您不能,字符集中沒有任何規定用於大寫控制字符。您可以通過直接進入窗口系統來控制移動控制的唯一方法,因此您需要GUI版本。

+2

在相關說明中,將鍵與shift和control綁定到需要GUI的命令是一個好主意。因爲未綁定的密鑰在終端Emacs中是稀缺的資源。 – Yoo 2010-01-29 14:40:28

0

要澄清一點:如果你使用Emacs的一個窗口管理器,然後你可以綁定的關鍵[(control shift ?s)],這是C-S-S(又名C-S,但不是這樣寫在Emacs)。該密鑰與ASCII控制字符C-s明顯不同,後者沒有小寫/大寫版本。

所以答案是(a)你必須使用圖形終端; (b)綁定[(control shift ?s)]以獲取大寫版本。