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 入力中の内容を中止します。
試してみる Ctrl+U。これにより、入力行がクリアされます。
http://www.ice2o.com/bash_quick_ref.html while searching で短いリファレンスを見つけました。
ctrl + e (行末でない場合)プラス ctrl + u それを行います。
Ctrl-U、 Ctrl-K トリックも行います。
Ctrl-U 行の先頭からカーソルまでをすべて削除します。 Ctrl-K カーソルから行末までのすべてを削除します。 (そのうちの1つだけを使用すると便利な場合があります。)
これを行うには2つのオプションがあります
ctrl+c -これにより、カーソルがどこにあっても行全体がクリアされます。
ctrl+u -これにより、カーソルの位置から先頭までの行がクリアされます。
押す Esc プラス Backspace bashでは、カーソルの位置まですべてをクリアします。
(Cygwinでは、これにより次のWordまで入力がクリアされます。単語はスペース、アンダースコアなどで区切られます...)
素敵なショートカットが迫っています Esc#。 #
文字を追加して(行をコメントにします)Enterキーを押します。その後、まだコマンドが必要であると判断した場合、履歴にそれが残っています:)
これは knittl's answer の拡張であり、ハッシュを先頭に付けてコンソール履歴に行を保存します。誤って上書きしたり、参照用にカットラインを表示できないなど、クリップボードの欠点を克服します。
いずれかのキーショートカットを使用します。
ハッシュ文字#
は行の先頭に追加されるため、行全体がコメントになります。また、ユーザーがEnterキーを押したかのように、新しいプロンプトが返されます。例えば.
$ #rm -rf /foo/bar/really/long/path/here
$
コンソールの履歴から古い行を復元するには、次のショートカットのいずれかを使用します。
目的の行が表示されるまでキーのショートカットを繰り返します。
行のハッシュを削除するには#
プレフィックスには、いくつかの異なるオプションがあります。
最初の文字を削除し、すぐにコマンドを実行します:
コマンドを実行せずにカーソルを移動して最初の文字を開始および削除します:
を使用することを検討してください Ctrl-U (または Ctrl-E その後 Ctrl-U)クリアしたものをバッファに保存して、後で使用して貼り付けることができるようにします Ctrl-Y。
現在の行を削除するには、次を試してください。
Ctrl-X、 Ctrl-U
別の方法として、次を使用できます。
Esc-D
〜/ .inputrcで必要です:
"\ed": kill-whole-line
viモード でBashを使用している場合(set -o vi
)、次に押す Esc viの通常モードに切り替え、dd
と入力して現在の行を削除します!