webentwicklung-frage-antwort-db.com.de

Wie mache ich xterm, um die Alt-Taste als Meta an Emacs zu senden?

Ich sehe, dass diese Frage gestellt wurde mehrfachmal . Die dort angegebenen Lösungen scheinen für mein Setup nicht zu gelten. Hier ist meine Geschichte:

Ich benutze Ubuntu 12.0.04 LTS mit xmonad (nicht über gnome) und benutze xterm für meine Arbeit. Ich würde lieber xterm als ein anderes Terminal oder ein eigenes Emacs-Fenster verwenden. Bei Verwendung von emacs -nw wird Alt nicht erkannt. Ich habe mit xev überprüft, ob Alt tatsächlich generiert wird. Wenn ich rxvt verwende, sehe ich außerdem, dass Alt von emacs -nw erkannt wird. Ich benutze den bösen Modus (als langjähriger Vim-Benutzer und Emacs-Neuling) und würde es wirklich vorziehen, wenn meine Escape-Taste nicht als Alt zurückgegeben wird (was die Lösung in einem anderen Thread war). Was soll ich machen? (Wenn es hilft, erzeugt Alt-x im xterm-Fenster, ohne dass Emacs ausgeführt wird, "ø" oder wenn ich emacs -nw -Q ausführe).

9
rahul

Wie im Arch Wiki zu sehen ist, müssen Sie Xterm so einstellen, dass der korrekte Escape-Schlüssel an das Programm gesendet wird:

Wenn Sie das verwenden Alt Tastenkürzel für Tastaturkürzel benötigen Sie in Ihrer Ressourcendatei:

XTerm*metaSendsEscape: true

Also mach einfach:

echo 'XTerm*metaSendsEscape: true' >> ~/.Xresources

Und starten Sie Ihre Xterm-Sitzung neu.

11
Braiam

Es gibt eine interessante Alternative zur Verwaltung Ihrer .Xdefaults/.Xresources -Dateien, indem Sie die Ressourcenzeichenfolge direkt als xterm -Befehlszeilenoption angeben:

xterm -xrm 'xterm*VT100.metaSendsEscape: true'

Dies ist beispielsweise praktisch, wenn Sie einen benutzerdefinierten Alias ​​für x-terminal-emulator haben.

1
vog

Wenn das Aktualisieren von ~/.Xresources bei Ihnen nicht funktioniert, tun Sie, was in der Dokumentation angegeben ist, und aktualisieren Sie es in ~/.Xdefaults.

http://frequal.com/linux/XTermMetaSendsEscape.html

1
Adam