Mit "in einem Terminal" nehme ich an, Sie meinen, dass Sie Emacs eingebauten Terminal-Emulator ausführen. Normalerweise überträgt der Terminal-Emulator die meisten Schlüssel genau so, wie sie in den Shell-Prozess eingegeben wurden. Geben Sie C-c C-j in den Terminal-Puffer ein, um ihn in einen Zustand zu versetzen, in dem normale Emacs-Tastenbindungen verfügbar sind. Sie werden sehen, dass sich die Moduslinie von (Term: char run)
zu (Term: line run)
ändert.
Nachtrag:
Yanking Text ohne Zeichenmodus zu verlassen ein wenig schwierig ist; die relevante Funktion ist jedoch term-paste
(nicht yank
, die den Text lediglich in den Terminalpuffer einfügt, ohne ihn an den minderwertigen Prozess zu senden). term-paste
wird sofort den letzten Kill an den minderwertigen Prozess senden, bietet aber nicht die ausgefallene Yank-Funktionalität, die Sie wahrscheinlich gewohnt sind (wie M-y, um vorherige Kills zu durchlaufen). Sie könnten term-paste
als einen erweiterten Befehl ausführen: C-c M-X-Ausdruck einfügen RET.
Wahrscheinlich ist die einfachste Lösung nur temporär in Zeilenmodus zu gehen (C-c C-j), wenn Sie etwas zu fügen, und dann sofort wieder in char-Modus (C-c C-k) gehen. Oder noch einfacher, bleiben Sie immer im Line-Modus. Ich tue dies oft, wenn ich ein Terminal in einer Oracle SQL * Plus-Sitzung angemeldet habe. Ich merke selten den Unterschied, aber ich bekomme alle möglichen praktischen Emacs-Funktionen, wie zum Beispiel die Möglichkeit, M-p einzugeben, um eine lange, vorher eingegebene SQL-Anweisung durchzulaufen.
ich, dass Sie im Zeilenmodus wie könnte dies immer beginnen angenommen haben würde:
(add-hook 'term-mode-hook 'term-line-mode)
... aber es für mich nicht funktioniert. Ich weiß nicht warum.
Gibt es eine Möglichkeit, dass der Terminalemulator Yanks akzeptiert, ohne dass der gesamte Puffer editierbar ist? Oder gibt es eine Möglichkeit, den Terminal-Emulator so zu konfigurieren, dass er immer mit "line run" startet. – hekevintran
Danke für C-c C-j. Emacs ist großartig! – Raj