web-dev-qa-db-ja.com

bashでは、現在の入力をどのようにクリアしますか?

Bashで次のようなコマンドの記述を開始するとします。

$ rm -rf /foo/bar/really/long/path/here

そして、結局これを実行したくないことに気づきます。 1つまたは2つのキーストロークで入力をクリアする方法はありますか?

最近やっていることは、エコーを追加し、入力を引用符で囲むことです(Ctrl + A、echo "、Ctrl + E、")Enterキーを押します。もっと速い方法はありますか?

166
user85509
  1. 押す Ctrl-U カーソルの前のすべてを削除します。削除されたコマンドはバッファに保存されます。押す Ctrl-Y 削除したコマンドを貼り付けます。

    (オプション:を押す End または Ctrl-E 最初に入力の最後にジャンプします。)

  2. または、を押す Ctrl-C 入力中の内容を中止します。

275
John Kugelman

試してみる Ctrl+U。これにより、入力行がクリアされます。

93
gbarry

http://www.ice2o.com/bash_quick_ref.html while searching で短いリファレンスを見つけました。

ctrl + e (行末でない場合)プラス ctrl + u それを行います。

30
Roger Pate

Ctrl-U、 Ctrl-K トリックも行います。

Ctrl-U 行の先頭からカーソルまでをすべて削除します。 Ctrl-K カーソルから行末までのすべてを削除します。 (そのうちの1つだけを使用すると便利な場合があります。)

21
rur

これを行うには2つのオプションがあります

ctrl+c -これにより、カーソルがどこにあっても行全体がクリアされます。

ctrl+u -これにより、カーソルの位置から先頭までの行がクリアされます。

13
vks

押す Esc プラス Backspace bashでは、カーソルの位置まですべてをクリアします。

(Cygwinでは、これにより次のWordまで入力がクリアされます。単語はスペース、アンダースコアなどで区切られます...)

9
Nippey

素敵なショートカットが迫っています Esc##文字を追加して(行をコメントにします)Enterキーを押します。その後、まだコマンドが必要であると判断した場合、履歴にそれが残っています:)

9
knittl

これは knittl's answer の拡張であり、ハッシュを先頭に付けてコンソール履歴に行を保存します。誤って上書きしたり、参照用にカットラインを表示できないなど、クリップボードの欠点を克服します。

コメント行と新しいプロンプトを返す

いずれかのキーショートカットを使用します。

  • Esc#
  • Alt+#

ハッシュ文字#は行の先頭に追加されるため、行全体がコメントになります。また、ユーザーがEnterキーを押したかのように、新しいプロンプトが返されます。例えば.

$ #rm -rf /foo/bar/really/long/path/here
$

コメント行を取得

コンソールの履歴から古い行を復元するには、次のショートカットのいずれかを使用します。

  • Up
  • Ctrl+p

目的の行が表示されるまでキーのショートカットを繰り返します。


クイックハッシュプレフィックスの削除

行のハッシュを削除するには#プレフィックスには、いくつかの異なるオプションがあります。

最初の文字を削除し、すぐにコマンドを実行します:

  • Esc1Esc#
  • Alt+-、 Alt+#

コマンドを実行せずにカーソルを移動して最初の文字を開始および削除します:

  • Home、 Delete
  • Ctrl+a、 Ctrl+d
3
Cas

を使用することを検討してください Ctrl-U (または Ctrl-E その後 Ctrl-U)クリアしたものをバッファに保存して、後で使用して貼り付けることができるようにします Ctrl-Y

3
markisisme

現在の行を削除するには、次を試してください。

Ctrl-X、 Ctrl-U

別の方法として、次を使用できます。

Esc-D

〜/ .inputrcで必要です:

"\ed": kill-whole-line 

参照: http://codesnippets.joyent.com/posts/show/169

2
caruso

viモード でBashを使用している場合(set -o vi)、次に押す Esc viの通常モードに切り替え、ddと入力して現在の行を削除します!

2
Helmyano