2017-06-21 53 views
2

我在我辦公室的Debian框中的屏幕內運行終端模式Emacs(使用-nw選項)。通過這種方式,我可以在任何地方使用ssh登錄我的盒子,即使連接緩慢或間歇也可以工作。在屏幕內部Putty中傳遞alt-tab到Emacs內部

當我用膩子從Windows系統中,我很想念使用Alt鍵的可能性 - 標籤組合鍵(M-TAB在Emacs的說法)。我使用兩個按鍵Esc和Tab進行補償,但這是兩次按鍵,速度較慢。

我才發現,原來使用Autohotkeys我可以讓按Ctrl - 標籤做一樣使用Alt-Tab這個規則:

LControl & Tab::AltTab 

,我可以用這個其他的規則完全禁止使用Alt-Tab :

!Tab::Return 

但這不是我想要的。我需要複製Alt鍵的功能 - 對其他一些熱鍵標籤按Ctrl - 標籤是好的和第一條規則確實是),另外我想Alt鍵 - 標籤關鍵當我使用它時(它會傳遞給Screen,它將它傳遞給Emacs)傳遞給Putty。換句話說,Alt - 選項卡不應禁用,但應刪除其特殊含義。

這可能與Windows?

+0

我沒有使用過這種設置,但是從描述猜測,你可能只需要發送Esc鍵和Tab時膩子窗口活動:'#ifwindowActive putty' \ n'標籤:: {發送! Esc} {Tab}' – wOxxOm

+0

謝謝你的想法,是的,它的工作原理:) 只有正確的關鍵字是IfWinActive,我還沒有弄清楚如何使它識別膩子窗口,所以我綁定了Al-無條件選項卡。 – user2987821

回答

0

雖然我沒有完全理解你遇到的問題,但這個框架應該給你一些東西來處理基於窗口的條件操作。

!Tab:: 
{ 
WinGetTitle, Title, A 
if (RegExMatch(Title, "PuTTY.*")) 
{ 
    ; Do something if PuTTY is the active window. 
}else{ 
    ; Do something else if PuTTY is NOT the active window. 
}}