web-dev-qa-db-ja.com

bashターミナルで複数行コマンドをコピー、貼り付け、編集する

引数が多いコマンドでは、Webで読みやすくするために、スラッシュでエスケープされた改行を使用することがあります。これはばかげた例です

echo -n \
"hello" \
"world"

これを「適切に」貼り付けて編集する方法がわかりません

あなたが得るbashに貼り付けられる

$ echo -n \
> "hello" \
> "world"

OSXで戻る矢印キーを使用してナビゲートすると、最初の2行ではなく、> "world"の行のみを編集できます。通常、コマンドを修正するには、一時ファイルに貼り付ける必要があります。

任意の行を編集できるこの貼り付けを実行するためのより良い方法はありますか? bash設定は、これをより良い方法で機能させますか?

5
pseudo647

このようなコマンドが複数行にある場合、emacsモード(通常はデフォルトモード)でbashを使用している場合は、ctrl+x ctrl+e EDITOR変数で指定されているように、お気に入りのエディターが開きます。

または、fcと入力すると、最後に入力したコマンドでエディターが開き、必要に応じて編集して、自由に終了すると実行されます。

8