Windowsのコマンドライン(powershellとcmd)では、行のEscキーを押すとプロンプトに入力した内容がすべて削除されます。
Esc
Bashプロンプトでキーを押しても何も起こらないことがわかりました。単語をタップして削除Esc
します。ただし、各単語に対してこれを行う必要があります。backspace
Bashをじっくり学んでいく中で、たまには並んで途中で奇妙な話をしても最初からやり直す方が良いという気がする時があります。これを行うには、押すことがbackspace
これまで私が見つけた唯一の方法です。
あなたの仕事は何ですか?
clear
コマンドとショートカットは知っていますが、Ctrl-L端末全体を消去することについては話しません。ちょうどライン。
答え1
欲しいkill-whole-line
しかし、これはbashではデフォルトでは制限されません。backward-kill-line
(CtrlX Backspace)とunix-line-discard
(CtrlU)両方とも現在の点から行の先頭まで消去するので、行の終わりに行き、どちらかを使用するだけです。
答え2
Ctrl+を使用すると、C入力している内容をすべてキャンセルし、新しいコマンドラインを空にすることができます。CTRL + Cを使用してコマンドラインに戻るのは正しくありませんか?。
答え3
Ctrl+a行の先頭に移動してCtrl+k行の最後まで削除
答え4
Ignacio Vazquez-Abramsの答えを少し拡張するには、次のようにEscbashのキーにバインドして(ほぼ)Windowsと同様の動作を得ることができます。kill-whole-line
Esc
bind '"\e":kill-whole-line'
この行をファイルに追加すると、セッション間の~/.inputrc
バインディングが維持されます。
しかし、これを参考にしてください非常にEscBashは実際にはこのキーを他の修飾キー(たとえば、非永続AltまたはCtrl)として使用するため、非標準です。既存のキーバインディングリスト()を見ると、bind -P
「\ e」で始まるキーの組み合わせにバインドされた複数のコマンドが表示されます(例:
"\eb": backward-word
Esc+ 組み合わせを設定して、Bカーソルを最も近い単語の先頭に戻します。Ctrl+に似ていますが、これを何度も何度も実行するには(もちろん)←続けてください。EscB
これは私があなたが得る行動が次のようになったと言った理由を説明します。ほぼWindowsに似ています。を押すと、Escbashはそれを他のキーと組み合わせるかどうかを確認します。したがって、これをバインドしてから押して(または手を離す)、bashをクリアするkill-whole-line
までに若干の遅延があります。 。Esc
しかし、それを気にせずに他のキーストロークを使用するように再教育するよりも遅れを取るには、そうすることができます。
(注:私は次のリンクを読んでクリックして、ここからほとんどの情報を得ました。この回答.)