2017-06-21 5 views
2

Je lance Emacs en mode terminal (en utilisant l'option -nw) à l'intérieur de Screen sur ma boîte Debian. De cette façon, je peux me connecter à ma boîte avec SSH de n'importe où et travailler même avec une connexion lente ou intermittente.Passage d'une tabulation alt à Emacs à l'intérieur de Screen inside Putty

Lorsque je me connecte à partir de Windows en utilisant Putty, je manque la possibilité d'utiliser la Alt - Tab combinaison de touches (M-TAB dans le langage Emacs). Je compense en utilisant les deux touches Esc et Tab, mais c'est deux pressions de touche, ce qui est plus lent.

Je viens de découvrir que l'utilisation AutoHotkeys je peux faire Ctrl - Tab font la même chose que Alt-Tab avec cette règle:

LControl & Tab::AltTab 

et je peux désactiver complètement Alt-Tab avec cette autre règle :

!Tab::Return 

mais ce n'est pas ce que je veux. Je dois copier la fonctionnalité de Alt - Tab sur une autre touche de raccourci (Ctrl - Tab est correct et la première règle fait que) et en plus je veux la Alt - Tab clé être passé à Putty quand je l'utilise (ce qui le passerait à Screen, ce qui le passerait à Emacs). En d'autres termes, Alt - L'onglet ne doit pas être désactivé, mais sa signification particulière doit être supprimée.

Est-ce possible avec Windows?

+0

Je ne l'ai pas utilisé ce genre de configuration, mais deviner à partir de la description, vous pouvez probablement envoyer Echap et Tab lorsque la fenêtre mastic est active: '#ifwindowActive putty' \ n' Tab :: envoyer {! Esc} {Tab} ' – wOxxOm

+0

Merci pour l'idée, et oui, ça fonctionne :) Seulement, le mot-clé correct est IfWinActive, et je n'ai pas encore trouvé comment faire pour reconnaître la fenêtre de mastic, donc je suis lié Tabulation inconditionnellement. – user2987821

Répondre

0

Bien que je ne comprenne pas complètement le problème que vous rencontrez, ce cadre devrait vous donner quelque chose à utiliser pour les actions conditionnelles basées sur la fenêtre.

!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. 
}}