私はLinuxとCシェルで働いています。 Historyコマンドを使用して逆検索を実行して得られたプロンプトに既にある内容の一部を変更する必要があることがよくありますCTRL+R。私はこのようなことをしたくありませんBackspace。私は見たことがないsuperuser.comに関するこの質問これはbashのために特別に設計されています。これ回答これを使用すると、CTRL+U現在のカーソル位置より前の内容がすべて消去されることを示します。しかし、バックスペースキーを数回押して、今はプロンプトテキストの途中にありますが、これはすべてを消去しました。 Linuxで同じことを行うC-shell固有の方法はありますか?
答え1
(完全マゾヒストでtcsh
はない場合、これは「C-Shell」と呼ばれるようです)モード(通常デフォルトモード)でemacs
使用できますCtrl-W。kill-region
表示(Ctrl-Space行の先頭に設定されますが、デフォルトは)とカーソルです。
Ctrl-Wこの点で、この動作はbash(readline)/ ksh / zsh emacsモードよりもemacsに近いですが、前の単語が削除される(werase
、middle)ターミナルドライバの埋め込みラインエディタ(標準モード)ではありませんvi
。その場合、一般的な端末動作を選択しますが、emacs
emacsでは汎用パラメータであり、端末の-line文字ではありません。Ctrl-Ukill
Ctrl-U行の先頭まで削除するには、次のこともできます。
bindkey '^U' backward-kill-line
Envi
モード、Escコマンドモードに入り、d0行の先頭まで削除します(またはc0削除する代わりに変更したい場合)。