Nehmen wir an, ich möchte Chrome, Sublime Idea usw. über die Befehlszeile öffnen und dabei die Kontrolle über das Terminal behalten.
& disown
Gibt es eine Möglichkeit , dem Befehl in Bash etwas anzuhängen, wenn Sie Ctrl+ Enteroder eine andere praktische Kombination drücken?
Ich habe versucht, Aliase für sie zu erstellen, z. B. alias subl='subl & disown'
, aber die Übergabe von Argumenten funktioniert nicht mehr und es ist zu umständlich, Aliase für alle Programme schreiben zu müssen, die ich auf diese Weise verwenden möchte. Es muss einen intelligenteren Weg geben.
Antwort1
Aus Ihrem Kommentar:
Ich habe es hinzugefügt
"\C-e": ' & disown\n'
und.inputrc
es macht, was ich will, mit Ctrl+ e. Aus irgendeinem Grund funktioniert es nicht mit\n
anstelle vone
.
Ich glaube nicht, \n
dass dies die richtige Zeichenfolge ist, aber es gibt ein größeres Problem: In einer Konsole Enterselbst ist es \C-M
ie Ctrl+ M, also ist Ctrl+ Entereinfach Enterund Sie können die beiden nicht unterscheiden.
Sie können jedoch zwischen Enterund Meta (aka Alt)+ unterscheiden Enter. Fügen Sie diese Zeile in Ihre ein .inputrc
:
"\C-\M-M":' & disown\n'
und drücken Sie Meta (aka Alt)+ Enter, wann immer Sie es verwenden möchten.
Antwort2
Ich habe gelernt, dass\Rteilt den gleichen ASCII-Code wie Ctrl+ M, was bedeutet, dass Ctrl+ Entergleichbedeutend ist mit Ctrl+ Ctrl+ M. Zweimaliges Drücken Ctrlergibt keinen Sinn, daher können Ctrlund Enternicht zusammen im Terminal ohne xterm verwendet werden.Übersetzung.
CtrlMir ist der Trick mit + gelungen, Eindem ich "\C-E": ' & disown\n '
hinzugefügt habe .inputrc
.