私がterminalを使用していて、コマンドのためにテキストの行をタイプしているならば、ホットキーまたはその行をクリア/削除する方法はありますか?
例えば、私の現在の行/コマンドが本当に長いもののようなものであるならば:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
上記から移動するためのホットキーまたはコマンドはありますか。
>
?
通常私は押す ↓ 私の現在の行が歴史上のまったく新しいものであるならば、それはそれをクリアするでしょう。しかし、私が経由して私のコマンド履歴を通過している場合 ↑ キーを押して編集を開始するか、これらのコマンドを使用します。 ↓ プロンプトを履歴の中で次に新しいコマンドに変更するだけなので、ここでは押さない限り動作しません。 ↓ 複数回。
あなたが使用することができます Ctrl+U 最初まで片付けます。
あなたが使用することができます Ctrl+W Wordだけを削除します。
また使用することができます Ctrl+C キャンセルします。
あなたが歴史を保存したい場合は、使用することができます Alt+Shift+# それをコメントにします。
すべての答えを要約すると
私は完全なショートカットリストを持っています:
Ctrl+A、 Ctrl+K 端末内の現在の行を消去します。あなたはそれからそれを思い出すことができます Ctrl+Y 必要ならば。
またはviモードを使用している場合は、ヒット Esc に続く cc
消去したものを元に戻すには Esc その後 p :)
に代わるもの Ctrl+A、 Ctrl+K です Ctrl+E、 Ctrl+U。
私はあなたがそれを愛するかどうかわからないが私は使用する Ctrl+A (行頭へ)そして Ctrl+K (行を削除するために)私はemacsからのこれらのコマンドに精通していて、誤ってそれらを見つけ出しました。
Ctrl+w:文字と(複数の)単語をカーソルからリングバッファに移動
Ctrl+y:リングバッファから最後のエントリを挿入すると使えます Alt+y あなたのリングバッファを通って回転する。リングバッファ内の「前の」エントリに進むには、複数回押します。
CTRL+R そして、歴史の中の前のコマンドを検索するためにタイプし始めてください。実線を表示します。
CTRL+R 繰り返します。
リストに追加します。
Emacsモードでは、ヒット Esc、 に続く R、行全体を削除します。
理由はわかりませんが、たまたまそれが見つかっただけです。おそらくそれは行の削除には使用されませんが、同じ効果があるのです。誰かが知っているなら、教えてください、ありがとう:)
Bashでは動作しますが、Fishでは動作しません。
行全体をきれいにするには(2つの異なる方法):
カーソルがどこにあっても行全体を削除するには、kill-whole-line
コマンドを使用できますが、デフォルトではバインドされていません。例えば、 Ctrl+Alt+K 挿入して
"\e\C-k": kill-whole-line
readlineのinitファイル(通常は~/.inputrc
)に追加します。
様々な発言:
すでに他のものに使用されているキーシーケンスを誤って再割り当てしないようにするために、すべてのバインディングをbind -P
でチェックできます。で推奨されているバインディングを確認してください。
bind -P | grep '\\e\\C-k'
INPUTRC
から取得されます。設定されていない場合、デフォルトは~/.inputrc
、または(存在しない場合)/etc/inputrc
です。 ~/.inputrc
がある場合、/etc/inputrc
は無視されます。Ctrl + W 左側の言葉をクリアします。