Kommandozeileninhalt in der Fish Shell - Kommandozeile, Shell, Fish, Escape

Gibt es eine M├Âglichkeit, den Inhalt von Kommandozeilen in Fischen zu ermitteln? Ich meine, wenn Befehlszeile ist wie ...

$ ls "foo" "bar"

... w├Ąre die gew├╝nschte Ausgabe ls "foo" "bar".

Das commandline Der Befehl fish gibt die Befehlszeile zur├╝ck, verschwindet jedoch automatisch aus dem Inhalt. d.h. ls foo bar.

Im Handbuch habe ich keine Schalter gefunden, um dieses Verhalten zu unterdr├╝cken.

Kontext: Ich versuche, Bashs zu emulieren ctrl-x ctrl-e Hiermit k├Ânnen Sie den Inhalt der Befehlszeile in einem Editor bearbeiten. Daf├╝r brauche ich den unescaped Inhalt der Kommandozeile.

Jede Hilfe w├Ąre dankbar.

Antworten:

1 f├╝r Antwort Ôäľ 1

Es stellt sich heraus, dass fish 2.3 das Druckverhalten korrigiert und die Kommandozeile nicht entkoppelt. Bei Fischen 2.3 commandline -b druckt die Kommandozeile ohne Escapezeichen.


0 f├╝r Antwort Ôäľ 2

Dies beantwortet Ihre Frage, glaube ich, nicht, aber ich habe sie irgendwo online gefunden

function bind_edit_commandline
set -l tmp (mktemp /tmp/fish-fc.XXXXXX)
commandline > $tmp
eval $EDITOR $tmp
commandline -r ""
cat $tmp | while read -l cmd; commandline -a "$cmd" ""; end
rm $tmp
end

Und ich mag Altv, so

bind ev bind_edit_commandline