如何在 Ubuntu 上輸入 C-?

如何在 Ubuntu 上輸入 C-?

我是 Emacs 用戶,我只在終端中使用它。我正在嘗試打字,C-c C-,因為它綁定了一個重要的命令。然而,每當我嘗試擊打時C-,,它都會像 一樣發生,

我在 Ubuntu Linux 上運行,我認為我的桌面是 Gnome。 (我通常在 macOS 上開發,但在這種情況下不能。)

答案1

您的終端不支援它,並且很可能不支援任何終端(手動配置除外)。

終端機Ctrl以兩種方式處理+鍵:

  • 對於字母 – 透過清除字母 ASCII 值的第 7 位和第 6 位,例如V二進位 0101'0110,而 Ctrl+V 則作為二進位 0001'0110 發送。 (這也是 Ctrl+letter 和 Ctrl+Shift+letter 執行相同操作的原因;第 6 位元表示大寫狀態,因此它們產生相同的程式碼。)
  • 對於特殊鍵 – 透過傳送商定的“轉義序列”,例如ESC [1;5CCtrl+Right。

(這裡的「字母」實際上涵蓋了整個 ASCII 0x40–0x7F 範圍,因此它包括一些特殊字符,例如 Ctrl+] 或 Ctrl+\。)

第一種情況不能用於逗號(二進制0010'1100),因為生成的代碼與用於Ctrl+L 的代碼(二進制01?0'1100)完全無法區分- 兩者都只會產生相同的0000'1100位元組.

不能使用第二種情況,因為還沒有人在您的終端中為 Ctrl+ 添加特殊的鍵代碼。這在技術上是可行的,但您必須修補終端模擬器和 Emacs 才能就新的程式碼序列達成協議。 (有些用戶透過「借用」很少使用的序列(例如 F13/F14/... 鍵)來實現此目的。)

也可以看看:

相關內容