vi編集ユーティリティのプロンプトラインを使用するには? [閉鎖]

vi編集ユーティリティのプロンプトラインを使用するには? [閉鎖]

read -eSQLクエリに似たクエリのヒントを提供するユーティリティをbashに書きました。時々これはかなり長いので、viを開いて現在の行を編集して終了するときにその行をvimの内容に置き換えることを望んでいます。私は読み取りラインを使用しますread。それは次のとおりです。

query> select .... from .... very long... <ctrl-e> 

今viから

select .... from .... very long...

次のように編集

select ...
from ....
very long ...

6番出口

query> select ...
from ....
very long ... <enter>

クエリが実行されます。

更新:「read -e」の前に「set -o vi」を使用するのが私にとっては良い方法だと思いますが、現在<esc>v開いているバッファをクリックするとその行の内容は含まれませんが、私の履歴の内容は含まれません。その他のクエリ(以前に入力したクエリではありません)

ベストアンサー1

まず、viをシェルコマンドラインエディタとして使用していることを確認する必要があります。

set -o vi

これで、コマンドラインにコマンドを入力/コピーできます。挿入モードを終了して通常モードに入るには、EscまたはShift+を使用しますTab。これでvi開くを押すことができますv

では、vi必要な変更をすべて実行し、バッファを保存して終了すると、viコマンドが実行されます。

おすすめ記事