Linuxで作業してCシェルを使用するときに、プロンプトから入力の一部を消去できますか?

Linuxで作業してCシェルを使用するときに、プロンプトから入力の一部を消去できますか?

私はLinuxとCシェルで働いています。 Historyコマンドを使用して逆検索を実行して得られたプロンプトに既にある内容の一部を変更する必要があることがよくありますCTRL+R。私はこのようなことをしたくありませんBackspace。私は見たことがないsuperuser.comに関するこの質問これはbashのために特別に設計されています。これ回答これを使用すると、CTRL+U現在のカーソル位置より前の内容がすべて消去されることを示します。しかし、バックスペースキーを数回押して、今はプロンプトテキストの途中にありますが、これはすべてを消去しました。 Linuxで同じことを行うC-shell固有の方法はありますか?

答え1

(完全マゾヒストでtcshはない場合、これは「C-Shell」と呼ばれるようです)モード(通常デフォルトモード)でemacs使用できますCtrl-Wkill-region表示Ctrl-Space行の先頭に設定されますが、デフォルトは)とカーソルです。

Ctrl-Wこの点で、この動作はbash(readline)/ ksh / zsh emacsモードよりもemacsに近いですが、前の単語が削除される(werase、middle)ターミナルドライバの埋め込みラインエディタ(標準モード)ではありませんvi。その場合、一般的な端末動作を選択しますが、emacsemacsでは汎用パラメータであり、端末の-line文字ではありません。Ctrl-Ukill

Ctrl-U行の先頭まで削除するには、次のこともできます。

bindkey '^U' backward-kill-line

Enviモード、Escコマンドモードに入り、d0行の先頭まで削除します(またはc0削除する代わりに変更したい場合)。

関連情報