Ich verwende GNU Emacs, normalerweise so, wie emacs -nw
die Terminalversion gestartet wird (im Gegensatz zur GUI-Version mit Fenster).
Ich schreibe Schulzeitungen ein, LaTeX
damit ich sie flyspell-mode
innerhalb von Emacs auf Rechtschreibprüfung prüfen kann. Dies funktioniert gut in der GUI-Version, aber in einem Terminal treten Probleme mit dem Tastenanschlag C-.
( Ctrl- .) auf. In einem tty tut dies nichts und in terminator
oder gnome-terminal
gibt dies einfach ein "." Ein.
Was kann ich tun, damit es das tut, was es in der Fensterversion tut (Rechtschreibvorschläge für ein falsch geschriebenes Wort anzeigen)?
BEARBEITEN: In diesem Fall verwende ich Ubuntu 12.04 mit Emacs 23.3.1 (was meiner Meinung nach der Standard des 12.04-Repos ist).
command-line
emacs
cg505
quelle
quelle
Esc
-x
flyspell-mode
? Das funktioniert bei mir.flyspell-mode
mitM-x
, aber esESC x
scheint keinen Unterschied zu machen.ESC-TAB
.ESC TAB
oderM-TAB
beide arbeiten für mich. Danke für den Tipp @McNisse.Antworten:
Es sieht so aus, als ob der wichtige Teil dieser Frage bereits in den Kommentaren beantwortet wurde, aber um die Grundursache anzusprechen, falls Sie neugierig sind, denke ich, Strg-. funktioniert in einem Terminal aufgrund einiger Einschränkungen der Terminalemulatoren nicht. In einem Standardterminal ist Strg definiert, um den ASCII-Code der Taste zu senden, die Sie minus 64 drücken (aus diesem Grund sendet Strg-J (74) beispielsweise Zeilenumbruch (10) und Strg-I (73) Tab (9) ). Da der ASCII-Code der Periode 46 ist, würde das Subtrahieren von 64 -18 ergeben, was ungültig ist, da es negativ ist und es keine negativen ASCII-Codes gibt und daher nichts für Emacs zu empfangen und zu verstehen ist.
Wenn Sie Emacs im Fenstermodus ausführen, wird der Terminalemulatormechanismus umgangen, und stattdessen wird die robustere Tastaturbehandlung von X11 verwendet, die dunkelere Tastenanschläge verarbeiten kann (anstatt jeden Tastenanschlag auf ein ASCII-Zeichen zu reduzieren, erhält das Programm die ursprüngliche Taste plus alle zutreffenden Modifikatoren separat). Es ist also wahrscheinlich unmöglich, tty-basierte Emacs dazu zu bringen, mit Strg- umzugehen. es sei denn, Sie nehmen benutzerdefinierte Änderungen an Ihrem Terminalemulator (und wahrscheinlich auch an Emacs) vor.
quelle
'C-.'
gut mit Emacs in xterm erfassen, aber nicht mit urxvt oder st. Irgendeine Idee, warum das so sein könnte?Während die obige Antwort eine gute Erklärung dafür gibt, warum es nicht funktioniert, geht es nicht wirklich darum, wie es funktioniert. Für
iTerm2
Sie kann dies durch lösen für die Escape - Sequenz das Hinzufügen einer Tastenzuordnung . Ich stelle mir vor, es würde etwas Ähnliches interminator
oder gebengnome-terminal
quelle