Ich habe ein Dienstprogramm in bash geschrieben, mit read -edem eine Eingabeaufforderung für SQL-ähnliche Abfragen bereitgestellt wird. Manchmal sind diese lang, daher möchte ich vi öffnen, die aktuelle Zeile bearbeiten und beim Beenden die Zeile durch den Inhalt in vim ersetzen können. Ich lese Zeilen mit read. Etwas wie:
query> select .... from .... very long... <ctrl-e>
jetzt in vi
select .... from .... very long...
bearbeiten zu
select ...
from ....
very long ...
Ausfahrt vi
query> select ...
from ....
very long ... <enter>
Abfrage wird ausgeführt.
UPDATE: Die Verwendung von 'set -o vi' vor dem 'read -e' scheint für mich <esc>vder richtige Weg zu sein, aber derzeit enthält das Öffnen des Puffers nicht das, was sich in der Zeile befindet, sondern eine andere Abfrage aus meinem Verlauf (aber nicht die, die ich vorher getippt habe).
readBefehl?
DEFINE _EDITOR = vimIhrer Frage hinzufügen, welches Datenbanksystem Sie verwenden.