[emacs] shell mode bash history
-
hallo,
im emacs shell-mode: wie kann ich in der bash-history suchen? insbesondere möchte ich eingaben von vor dem emacs-start finden.
-
suchen mit alt-r (auch wiederholt).
Leider nicht so schön wie strg+r im echten terminal.gelesen wird beim start die ~/.history
-
DrGreenthumb schrieb:
gelesen wird beim start die ~/.history
Kann ich nicht irgendwie das C-r an die darunterliegende anwendung weiterleiten? schade, dass es kein zwischending zwischen shell-mode und term-mode gibt...
-
max()r schrieb:
DrGreenthumb schrieb:
gelesen wird beim start die ~/.history
Kann ich nicht irgendwie das C-r an die darunterliegende anwendung weiterleiten?
nee
man könnte aber so ein inkrementelles history-suchen in elisp programmieren.
hast du ein problem mit ~/.history? (weil du das zitiert hast). Kannst doch sicher der bash sagen welche datei sie nehmen soll. Zur Not symlink oder direkt in emacs ändern.
-
DrGreenthumb schrieb:
hast du ein problem mit ~/.history? (weil du das zitiert hast). Kannst doch sicher der bash sagen welche datei sie nehmen soll. Zur Not symlink oder direkt in emacs ändern.
Das Problem ist, wenn ich in der bash arbeite möchte ich die bash history haben. Wenn ich aus der bash ein interaktives Kommandozeilenprogramm starte, welches eine eigene history hat, dann möchte ich so lange in dieser history suchen wie dieses Programm läuft.
BZW: ich verwende die emacs-shell nur, damit ich in der Ausgabe suchen (und evtl. in andere buffer kopieren, aber 99% nur suchen) kann. Wenn das auf einem anderen Weg besser geht, würde ich den bevorzugen.
-
max()r schrieb:
]Das Problem ist, wenn ich in der bash arbeite möchte ich die bash history haben. Wenn ich aus der bash ein interaktives Kommandozeilenprogramm starte, welches eine eigene history hat, dann möchte ich so lange in dieser history suchen wie dieses Programm läuft.

BZW: ich verwende die emacs-shell nur, damit ich in der Ausgabe suchen (und evtl. in andere buffer kopieren, aber 99% nur suchen) kann. Wenn das auf einem anderen Weg besser geht, würde ich den bevorzugen.
mit der kde-konsole kann man auch in der ausgabe suchen. bei urxvt auch.
-
DrGreenthumb schrieb:
max()r schrieb:
]Das Problem ist, wenn ich in der bash arbeite möchte ich die bash history haben. Wenn ich aus der bash ein interaktives Kommandozeilenprogramm starte, welches eine eigene history hat, dann möchte ich so lange in dieser history suchen wie dieses Programm läuft.

$ich@meinrechner:~$ root ******************************************* * * * W E L C O M E to R O O T * * * * Version 5.18/00b 10 March 2008 * * * * You are welcome to visit our Web site * * http://root.cern.ch * * * ******************************************* ROOT 5.18/00b (branches/v5-18-00-patches@22563, Jun 18 2009, 06:02:00 on linux) CINT/ROOT C/C++ Interpreter version 5.16.29, Jan 08, 2008 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. root [0] cout << "hello" << endl hello (class ostream)-1221452288 ///////// Gebe hier "C-r cou" ein cou? cout << "hello" << endlIch kann also hier in der history von root (welches ein c++-interpreter sein möchte) nach kommandos suchen. mit [CTRL]+[R]. Aus emacs kann ich das nicht. Verständlich?
-
wie gesagt: alt+r
aber um jetzt auch noch die alt-gespeicherte history von dem programm zu haben müsstest du die erst selbst in emacs einlesen
(als anreiz: die variable der shell-history heißt comint-input-ring)
-
Warum startest du das Programm nicht direkt in Emacs indem du den Pfad zu diesem bei M-x term RET angibst?