bash コマンド履歴複数行の編集

bash コマンド履歴複数行の編集

私は長年それを使ってきましたksh。私はEsc vコマンド履歴から「vi」エディタを呼び出す可能性が好きです。履歴のコマンドが複数行にわたって分散している場合(たとえば、whileループのため)、viはレコードが複数行にわたって分散していることを示します。この機能により、ファイルに入力を書き込むことなく複雑な文を簡単に作成できます。

私は数年前にそうなりましたbash。デフォルトのショートカットCtrl- - とX Ctrl同じ可能性がありますE。いくつかの違いは、bashすべての行をセミコロンで区切られた1つの長い行にマージすることです。構文はまだ正確ですが、読みやすくなります。

だから私がすることは、コマンドが複雑になったらkshを呼び出すことです。

bash履歴行をマージせずにそのまま実行するように設定する方法はありますかksh

どんな助けでも歓迎します。

ベストアンサー1

使用:

shopt -s lithist

岩の
設定されている場合、CMDHISTオプションが有効な場合、複数行コマンドは、可能であれば、セミコロン区切り文字を使用するのではなく、埋め込み行を使用して履歴に保存されます。

この機能がデフォルトで有効になっていない理由は、人々が履歴項目history | grep something番号の検索などのコマンドを頻繁に使用するためだと思います。履歴項目が複数行に分割されている場合、一致する行にgrep項目番号は必ずしも含まれません。

おすすめ記事