2010-08-20 46 views
12

org-mode中,按M-S-RET(meta-shift-return)將在新行上創建新的TODO。該密鑰序列通過我的終端將M-RET發送到emacs。我已經用C-h c ESC-S-RET進行了檢查,在迷你緩衝區中返回M-RET is undefined如何在終端中發送S-RET到Emacs?

我使用Snow Leopard和Emacs 23.2.1在Terminal.app中運行。沒有選項可以在終端鍵盤首選項中定義RET序列。

任何想法是什麼導致失蹤SHIFT?解決方法?

回答

6

你可以得到的Emacs假裝它得到S-RETC-x @ S RET(注意大寫S)。

這也適用於添加控制,meta,alt,hyper或super修飾符;鍵入C-x @ C-h作爲綁定列表。 Modifier Keys section in the Emacs manual也提到了這一點。

5

通常,由於終端模擬一個只允許256個獨立密鑰(或可能只有128個)的舊協議,因此很多按鍵無法通過終端發送。

很可能,當您按下S-RET時,Terminal.app確實與一樣10與您按下RET相同。因此Emacs無法區分這兩種情況。

+0

我擔心這可能是這種情況。我會留下這個問題,看看有沒有人知道我應該模擬哪個終端來獲得「S-RET」。這可能是不可能的。目前,終端報告自己是'xterm-color',但我可以在配置選項中更改它。不知道它是否會解決任何問題。 – jrhorn424 2010-08-21 01:32:40

2

查看TTY here的解釋和替代捷徑。

其中一些已經在Ubuntu Linux的終端(本地和SSH)中爲我工作,但並不是所有的人都能工作。例如,爲S-RET(我預計運行org-table-copy-down)提供的替代方案似乎由於某種原因而運行org-clone-subtree-with-time-shift。但是,我發現有用的替代品列表,特別是那些有M-前綴的替代品。例如ESC UPM-UP)可以在表格中移動文本。