2011-09-22 62 views
1

某些鍵綁定的設計方式是Enter(<return>)和numpad Enter(<kb-enter>)不相同(我猜如果綁定是(kbd "<return>/<kb-enter>")而不是(kbd "RET"))。是否可以在Emacs中將<kb-enter重寫爲<return>或者我必須更改系統設置?如何均衡Emacs中的<return>和<kb-enter>?

+0

當我擊中數字鍵盤時,輸入是'RET(翻譯自)',所以它給出了與Return相同的鍵,顯然有一些機制可以在兩者之間進行轉換。它對你來說不一樣嗎? – Tom

+0

@Tom,是的,翻譯之後它是相同的*。但是一些擴展明確地定義了鍵綁定('kp-enter'或'return'),因此綁定到這個顯式鍵綁定的函數根本不適用於另一種類型的'RET'。雖然這是一個理論。我已經注意到了經驗上的區別。 –

回答

1

聽起來好像這是你想要的東西:

(define-key local-function-key-map [kp-enter] [return]) 

這將翻譯<kp-enter>關鍵<return>關鍵。

+0

就是這樣!多謝! –

+0

我不知道如何解決它,但是一些功能已經被這樣的'define-key'丟失了。例如,當'kp-enter'被按下時('是未定義的錯誤),即'返回'沒有被傳遞給'return'的'some * KP-enter'。有什麼方法可以重寫這個'define-key',因此它具有'return'的全部功能? –

+0

我不確定你的意思,但請記住,您的鍵盤迴車鍵可能對應於''功能鍵,或者它可能對應於ASCII'RET'(又名Control-M)。並且當鍵的綁定(不管它是什麼)插入一個換行符時,就是來自它綁定的命令。換行符實際上是Control-J,在某些模式下,您需要點擊「C-j」插入換行符字符。不知道它是否會有幫助,但也可以嘗試添加這個:'(define-key local-function-key-map [kp-enter] [(control?m)])' – Drew