Dies ist zugegebenermaßen eine oberflächliche Frage.
Obwohl ansi-term
sich das Verhalten beim ersten Öffnen zunächst richtig verhält, scheint es sich nach einigen Befehlen in einen bearbeitbaren Modus zu verwandeln, z. B. wenn ich C-a
(Zeilenanfang) gefolgt von C-k
(Zeile töten) ausführe, wird die gesamte Eingabeaufforderung gelöscht.
Gibt es für meine ästhetische Vernunft eine Möglichkeit, die Eingabeaufforderungen und die vorherige Ausgabe (für shell
) unbearbeitbar zu machen ? (Aktualisiert, um Ansi-Term aufgrund der bedeutenden Unterschiede auszuschließen.)
Ich benutze zsh in Emacs 24.4; Betriebssystem ist LXDE (Ubuntu 14.04) über Virtual Box.
(Idealerweise kann ich meinen Cursor immer noch bewegen ...)
C-c C-j
. Versuchen Sie, diese Standardeinstellung herauszufinden, oder wechseln Sie mit in den Char-ModusC-c C-k
.shell-mode
/term-mode
bzw. nicht / nicht abgeleitet sindcomint-mode
, stellen Sie hier gleichzeitig zwei sehr unterschiedliche Fragen. Möchten Sie dies in zwei separate Fragen aufteilen?Antworten:
comint -abgeleiteten Modi (wie
shell
,ielm
, ...) Unterstützung Filterfunktionen, der folgende Ausschnitt macht die Ausgabe und prompte Nur - Lese-:Was
ansi-term
(nicht von comint abgeleitet) betrifft , verfügt es über zwei Betriebsmodi,char mode
die den Bindungen der Shell und der darin ausgeführten Software so genau wie möglich entsprechen undline mode
es Ihnen ermöglichen, den Puffer nach Belieben zu bearbeiten. Sie sollten im Allgemeinen inchar mode
(gebunden anC-c C-k
) bleiben und gelegentlich zuline mode
(gebunden anC-c C-j
) wechseln, um die Befehlsausgabe zu bearbeiten.quelle
Beim Mischen
term
mit scheintshell-mode
die Variablecomint-use-prompt-regexp
gelegentlich gesetzt zu werden. Dies führt zu einem Verhalten, wie Sie es beschrieben haben: Im Shell-Modus C-a wird an den Anfang der Zeile C-kgewechselt und die gesamte Zeile einschließlich der Eingabeaufforderung beendet.Eine einfache Lösung ist das Zurücksetzen
comint-use-prompt-regexp
mit C-: (setq comint-use-prompt-regexp nil), wodurch der Shell-Modus gezwungen wird, Texteigenschaften zu verwenden, die den Cursorbewegungstasten bekannt sind.Eine Beschreibung der Funktionsweise finden Sie im GNU Emacs-Handbuch hier: https://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Prompts.html
quelle
Versuchen Sie, die Variable
comint-prompt-read-only
an anzupassent
.Dies wird sich auf
shell-mode
andere auswirkencomint-mode
, aber nichtterm-mode
.quelle