Emacs

使 ‘CTRL-/’ 在 vtty 和 xterm 中表現相同

  • July 20, 2012

當我在圖形終端(例如 xterm)中按Ctrl+時,我得到“撤消”。/但是,在虛擬終端(例如Ctrl++ Alt)中F1,我得到“退格”。

在實踐中,當我在虛擬終端中使用 emacs 時遇到了這個問題,可能調試了一些 X 問題,我嘗試使用C+/撤消,而是得到一個退格鍵。

我相信這些年來我在多台電腦上都經歷過這種情況,所以我認為這對我目前的設置(ubuntu)來說並不是很具體。

當您在 xterm 中按下一個鍵時,它會發送一個字元序列,該字元序列由其X 資源中的翻譯確定。通常Ctrl+/發送單個字元^_(即字元編號 31,如Ctrl+ _)。shell 將此控製字元解釋為撤消命令。

當您在 Linux 控制台中按下該鍵時,它會發送一個由活動鍵盤映射確定的字元序列。該命令loadkeys載入一個鍵盤映射。預設鍵盤映射的位置取決於發行版和已安裝的軟體包;在最近的 Ubuntu 發行版中,控制台鍵盤映射源自預設的 XKB 鍵盤映射。許多預設鍵盤映射將 Backspace(Delete在這種情況下稱為:它的字元 127)分配給Ctrl+ /(我不知道為什麼);您可以使用以下鍵映射片段來更改它:

keycode  53 = slash            question        
       control keycode  53 = Control_underscore
       alt     keycode  53 = Meta_slash      
       shift   alt     keycode  53 = Meta_question   

如果您有一個名為 的文件/etc/console/boottime.kmap.gz,請對其進行編輯。如果您有文件/etc/default/keyboard,請閱讀並按照說明進行操作。

引用自:https://unix.stackexchange.com/questions/43429