tcsh でバックスペース キーを使用して 1 文字後方に削除するにはどうすればよいでしょうか?

tcsh でバックスペース キーを使用して 1 文字後方に削除するにはどうすればよいでしょうか?

私は openSuse をクリーンインストールしました。これにより、bash がデフォルトのシェルとして自動的に設定されます。

歴史的な理由により、古いコンピュータから移植したいエイリアスとショートカットはすべて tcsh にあり、同じことを bash で行う方法を学ぶ気はあまりありません。代わりに、ログイン シェルを tcsh に変更し、満足しています。

私が現在抱えている問題は、バックスペース キーを使用すると、後方への削除 ( +delなど) ではなく、前方への削除 ( キーなど) のみが行われることです。バックスペース キーを前方への削除ではなく後方への削除にバインドするにはどうすればよいでしょうか。ctrlh

答え1

キーバインディングを変更するシェルコマンドは でbindkeyBackspaceおそらくバイト 127 を送信します ( ^?; Ctrl+と入力してVからと入力して確認してくださいBackspace)。また、後方に文字を削除する編集コマンドは ですbackward-delete-char。したがって、これを に入力します~/.tcshrc

bindkey '^?' backward-delete-char

答え2

# stty erase <press backspace key>

関連情報