bashで次のようなコマンドを書き始めたとします。
$ rm -rf /foo/bar/really/long/path/here
そして、結局これを実行したくないことに気づくでしょう。1つまたは2つのキーストロークで入力をクリアする方法はありますか?
私が最近行っているのは、エコーを前に付けて入力を引用符で囲み(Ctrl + A echo "
、、、 Ctrl + E、"
)、Enter キーを押すことです。より速い方法はありますか?
bashで次のようなコマンドを書き始めたとします。
$ rm -rf /foo/bar/really/long/path/here
そして、結局これを実行したくないことに気づくでしょう。1つまたは2つのキーストロークで入力をクリアする方法はありますか?
私が最近行っているのは、エコーを前に付けて入力を引用符で囲み(Ctrl + A echo "
、、、 Ctrl + E、"
)、Enter キーを押すことです。より速い方法はありますか?
回答:
Ctrl- Uを押すと、カーソルの前のすべてが削除されます。削除されたコマンドはバッファに保存されます。Ctrl- Yを押して、削除したコマンドを貼り付けます。
(オプション:EndまたはCtrl- Eを押して、最初に入力の最後にジャンプします。)
または、Ctrl- Cを押して、入力中の内容を中止します。
stty -a
ます。これは、ターミナルコントロールをアクティブに変更していないすべてのプログラムで機能します。
Ctrl+を試してくださいU。これにより、入力行がクリアされます。
検索中にhttp://www.ice2o.com/bash_quick_ref.htmlで短い参照を見つけました。
ctrl+ e(行末にない場合)プラスctrl+ uがそれを行います。
これを行うには2つのオプションがあります
ctrl+c -これは、カーソルがどこにあっても、行全体をクリアします。
ctrl+ u-カーソルの位置から先頭までの行をクリアします。
良いショートカットはを押すことEsc#です。#
文字を付加し(したがって、行をコメントにします)、Enterキーを押します。その後、まだコマンドが必要だと判断した場合でも、コマンドは履歴に残ります:)
これはニットの答えの拡張ですハッシュを前に付けることにより、コンソール履歴に行を格納する。誤って上書きしたり、カットラインを参照用に表示できないなど、クリップボードの欠点を克服します。
どちらかのキーショートカットを使用します。
#
行の先頭にハッシュ文字が付加されるため、行全体がコメントになります。ユーザーがEnterキーを押したかのように、新しいプロンプトを返します。例えば
$ #rm -rf /foo/bar/really/long/path/here
$
コンソール履歴から古い行を回復するには、次のいずれかのショートカットを使用します。
目的の行が表示されるまでキーショートカットを繰り返します。
行のハッシュ#
プレフィックスを削除するには、いくつかの異なるオプションを使用できます。
最初の文字を削除して、すぐにコマンドを実行します。
次のコマンドを実行せずに、カーソルを移動して最初の文字を開始して削除します。
現在の行を削除するには、次を試してください:
Ctrl- X、Ctrl-U
別の方法として、次のものを使用できます。
Esc-D
〜/ .inputrcで必要です:
"\ed": kill-whole-line
"\e\e": kill-whole-line
(ただし、escキーを2回押す必要があります)