2010-12-02 4 views
8

Ist es in irgendeiner Weise möglich, den Schlüssel "C- (" an Emacs über ein VT100/xterm-Terminal (Mac OS X Terminal)? Gibt es eine Escape-Sequenz, die gesendet werden könnte, um das Äquivalent zu erreichen?Senden "C- (" an Emacs in VT100/xterm-Terminal (Mac OS X-Terminal)?

Ich vermute, das grundlegende Problem ist, dass das Konzept der Kombination von Kontrolle mit dem Zeichen "(" (und andere solche Zeichen, die mit Schicht erzeugt werden) existiert nicht

Hinweis: Die Verwendung von Cocoa Emacs stellt keine Option dar. Der Grund für die Verwendung von "C-" ist, dass paradet.el es unter anderen Tastenkombinationen verwendet und es vorzuziehen wäre, es nicht neu zuzuordnen (weil es sinnvoll ist, es auf "C- (") zu haben.

Antwort

14

Ein VT100-Terminal konnte das nicht, weil es kein ^( Steuerzeichen entsprechend ( gibt. Allerdings hat xterm den sogenannten "modifyOtherKeys" -Modus, der es ermöglicht, eindeutige Tastencodes für solche Kombinationen zu senden.

Um es zu aktivieren, legen Sie die modifyOtherKeys Ressource, z. in ~/.Xdefaults:

XTerm*vt100.modifyOtherKeys: 1 

Damit Strg + (die folgende Tastencode senden:

^[[27;6;40~ 

dass, obwohl ziemlich lang ist, so ein weiteres Format für keycodes wie das eingeführt wurde, die durch Einstellen der aktiviert werden kann formatOtherKeys Ressource:

XTerm*vt100.formatOtherKeys: 1 

Damit Strg + (sendet:

^[[40;6u 

In diesen beiden Tastencodes ist die 40 der dezimale ASCII-Code für ( und die 6 steht für die Strg-Taste.

Weitere Einzelheiten finden Sie unter man xterm und http://invisible-island.net/xterm/ctlseqs/ctlseqs.html. Keine Ahnung, ob Terminal.app irgendwelche davon unterstützt.

+0

Danke, das ist fast genau richtig. Ein Teil des Puzzles war es, den Escape-Code zu finden, der "C- (") erzeugte. Ich konnte bestätigen, dass es auch im Terminal von MacOS X funktioniert. Jetzt habe ich jedoch bemerkt, dass das Terminal von MacOS X leider keine willkürliche Zuordnung erlaubt Schlüssel (in diesem Fall Strg + Klammer), um Sequenzen zu entkommen - nur Funktion, Pfeil und ein paar andere Schlüssel können zugeordnet werden –

+1

iTerm2 ermöglicht es Ihnen, beliebige Schlüssel zu Escape-Sequenzen neu zuzuordnen –

+0

Über 4 Jahre alt und immer noch retten Menschen Hintern, guter Typ @ ak2 :) – zeusdeux