Ich versuche, Emacs in einem Terminal auszuführen. Ich habe die Option "Option als Meta verwenden" in den Terminaleinstellungen aktiviert und es funktioniert zu etwa 95% richtig.
Die Tastenfolge ctrl-/ (oder in Emacs-Notation C-/) ist "undo". Diese Tastenfolge bewirkt lediglich, dass das Terminal klingelt. Wie behebe ich das?
Control- /
ist nicht Teil des Satzes von Standard-Control-Codes . Es ist in vielen Terminalemulationen nicht direkt als Tastendruck darstellbar. Ein solcher Tastendruck ist nur in bestimmten plattformspezifischen „Scancode-Modi“ oder „GUI-Modus“ (wo die API Ihnen genau sagt, welche Tasten und Modifikatoren verwendet werden) richtig erkennbar. Ihr Terminal-Emulator piepst, weil es sich effektiv um einen ungültigen Tastendruck handelt.
Die Standard-Steuercodes decken nur „Steuer“-Versionen von ab
@
A
– Z
[\]^_
(ASCII 0 - 31) und?
(ASCII-127)In den meisten Terminalemulatorprogrammen, die mit den meisten US-Tastenlayouts laufen, müssen Sie möglicherweise drücken Shift, um einige der „Steuercodes“ zu generieren:
@
ist Shift2)^
ist Shift6)_
ist Shift-)?
ist Shift/); C-? wird normalerweise entweder durch Backspace(auf Apple-Tastaturen die Taste mit der Bezeichnung „Löschen“ ohne das zusätzliche Symbol ⌦) oder Delete(die mit ⌦ auf Apple-Tastaturen) generiert.In tty-basierten Emacs können Sie normalerweise C-_ undo
anstelle von C-/ verwenden.
Ctrl-/ sendet 0x1f, was seit den Tagen von VT102 äquivalent zu Ctrl-_ ist. Es gibt viele VT100-Emulatoren, aber sie sind eigentlich VT102-Emulatoren. iTerm2 funktioniert, weil es diesem Verhalten folgt.
Nur Emulatoren, die strikt der VT100-Spezifikation entsprechen, können kein Ctrl-/ senden. Ich glaube, die Terminal-App ist eine davon.
VT100 maskiert die 2 höchstwertigen Bits von 7-Bit-ASCII, wenn die Steuertaste gedrückt wird. / ist 0x2f, o ist 0x6f. Wenn die 2 Bits maskiert sind, sind sie beide 0x0f. VT100 kann Ctrl-o senden, aber nicht Ctrl-/.
Zu Ihrer Information, mein Problem ist, zu wissen, wie man Keymaps erstellt, Ctrl+\
und es stellt sich heraus, dass dies hilfreich ist: https://www.physics.udel.edu/~watson/scen103/ascii.html .
Sie können dies als Beispiel verwenden, um zu finden, was Sie wollenCtrl+/
Danke für diese Antwort: https://apple.stackexchange.com/a/260566/472959 , fügen Sie diesen Inhalt hinzu zu ~/Library/KeyBindings/DefaultKeyBinding.dict
:
{
"^/" = "noop:";
}
dann neu starten, diese lästige Glocke verschwindet.
Steven R. Loomis
Michael
Steven R. Loomis
Michael