web-dev-qa-db-ja.com

ターミナルの現在の行をクリア/削除するにはどうすればいいですか?

私がterminalを使用していて、コマンドのためにテキストの行をタイプしているならば、ホットキーまたはその行をクリア/削除する方法はありますか?

例えば、私の現在の行/コマンドが本当に長いもののようなものであるならば:

> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>

上記から移動するためのホットキーまたはコマンドはありますか。

>

通常私は押す  私の現在の行が歴史上のまったく新しいものであるならば、それはそれをクリアするでしょう。しかし、私が経由して私のコマンド履歴を通過している場合  キーを押して編集を開始するか、これらのコマンドを使用します。  プロンプトを履歴の中で次に新しいコマンドに変更するだけなので、ここでは押さない限り動作しません。  複数回。

666
triad

あなたが使用することができます Ctrl+U 最初まで片付けます。

あなたが使用することができます Ctrl+W Wordだけを削除します。

また使用することができます Ctrl+C キャンセルします。

あなたが歴史を保存したい場合は、使用することができます Alt+Shift+# それをコメントにします。


Bash Emacs編集モードのチートシート

1239
kev

すべての答えを要約すると

  • ラインをきれいにする:あなたは使うことができる Ctrl+U 最初まで片付けます。
  • 行をクリーンアップします。 Ctrl+ECtrl+U 端末の現在行を拭く
  • 行をクリーンアップします。 Ctrl+ACtrl+K 端末の現在行を拭く
  • 現在のコマンド/行をキャンセルします。 Ctrl+C
  • 削除したコマンドを思い出してください。 Ctrl+Y (それから Alt+Y
  • 行の先頭に移動します。 Ctrl+A
  • 行末に移動します。 Ctrl+E
  • たとえば、コマンドの途中にいる場合は、前方の単語を削除します。 Ctrl+K
  • Wordの先頭まで、左側の文字を削除します。 Ctrl+W
  • コマンドプロンプト全体を消去するには Ctrl + L
  • 行頭と現在のカーソル位置を切り替えます。 Ctrl + XX
501
J4cK

私は完全なショートカットリストを持っています:

  1. Ctrl+a 行頭にカーソルを移動
  2. Ctrl+e カーソルを行末に移動
  3. Ctrl+b 1文字戻る
  4. Alt+b 1つ前の単語に移動
  5. Ctrl+f 1文字進む
  6. Alt+f 1つ前の単語に進む
  7. Ctrl+d 現在の文字を削除
  8. Ctrl+w 最後の言葉を切る
  9. Ctrl+k カーソルの後ろのすべてを切る
  10. Alt+d カーソルの後ろのWordを切り取る
  11. Alt+w カーソルの前でWordを切り取る
  12. Ctrl+y 最後に削除したコマンドを貼り付けます
  13. Ctrl+_ 元に戻す
  14. Ctrl+u カーソルの前のすべてを切り取ります
  15. Ctrl+xx 最初の位置と現在の位置を切り替える
  16. Ctrl+l 端末をクリアする
  17. Ctrl+c コマンドをキャンセルする
  18. Ctrl+r 履歴内の検索コマンド - 検索語を入力
  19. Ctrl+j 現在の履歴エントリで検索を終了します
  20. Ctrl+g 検索をキャンセルして元の行に戻す
  21. Ctrl+n 履歴からの次のコマンド
  22. Ctrl+p 歴史からの前のコマンド
131
tharunkumar

Ctrl+A、 Ctrl+K 端末内の現在の行を消去します。あなたはそれからそれを思い出すことができます Ctrl+Y 必要ならば。

22
Spyros Mandekis

またはviモードを使用している場合は、ヒット Esc に続く cc

消去したものを元に戻すには Esc その後 p :)

15
bluTaz

に代わるもの Ctrl+A、 Ctrl+K です Ctrl+E、 Ctrl+U

10

私はあなたがそれを愛するかどうかわからないが私は使用する Ctrl+A (行頭へ)そして Ctrl+K (行を削除するために)私はemacsからのこれらのコマンドに精通していて、誤ってそれらを見つけ出しました。

9
Muhammet Can
  • Ctrl+u:行バッファの先頭まで( - === - )移動する
  • Ctrl+k:を行末までリングバッファに移動する
  • Ctrl+w:文字と(複数の)単語をカーソルからリングバッファに移動

  • Ctrl+y:リングバッファから最後のエントリを挿入すると使えます Alt+y あなたのリングバッファを通って回転する。リングバッファ内の「前の」エントリに進むには、複数回押します。

6
Cyrus

CTRL+R そして、歴史の中の前のコマンドを検索するためにタイプし始めてください。実線を表示します。
CTRL+R 繰り返します。

3
Daniel

リストに追加します。

Emacsモードでは、ヒット Esc、 に続く R、行全体を削除します。

理由はわかりませんが、たまたまそれが見つかっただけです。おそらくそれは行の削除には使用されませんが、同じ効果があるのです。誰かが知っているなら、教えてください、ありがとう:)

Bashでは動作しますが、Fishでは動作しません。

2
PickBoy

行全体をきれいにするには(2つの異なる方法):

  • Home 、 Ctrl+K
  • End 、 Ctrl+U
2
Jose1755

カーソルがどこにあっても行全体を削除するには、kill-whole-lineコマンドを使用できますが、デフォルトではバインドされていません。例えば、 Ctrl+Alt+K 挿入して

"\e\C-k": kill-whole-line

readlineのinitファイル(通常は~/.inputrc)に追加します。

様々な発言:

  • すでに他のものに使用されているキーシーケンスを誤って再割り当てしないようにするために、すべてのバインディングをbind -Pでチェックできます。で推奨されているバインディングを確認してください。

    bind -P | grep '\\e\\C-k'
    
  • Readlineのinitファイル名はシェル変数INPUTRCから取得されます。設定されていない場合、デフォルトは~/.inputrc、または(存在しない場合)/etc/inputrcです。 ~/.inputrcがある場合、/etc/inputrcは無視されます。
  • Readlineのinitファイルをリロードするには、 Ctrl+XCtrl+R
  • 関連マニュアルセクションへのリンク:
2
Benjamin W.

Ctrl + W 左側の言葉をクリアします。

2
bendangelo