回答:
Escを使用してから、バックスペースでスラッシュで区切られた単語を削除できるはずです。
これを.bashrcに入れることで変更できます:
bind '\C-f:unix-filename-rubout'
今Ctrl+f
、あなたがしたいことをするために使用します。
C-w:...
すると、次のスペースに削除するデフォルトの動作が引き続き有効になります。別のキー(Fなど)で正常に機能する場合。
stty -a
ますか?weraseのデフォルトの文字としてcontrol-wがありますか?comman stty werase undef
を使用してttyからその設定を削除すると、bashは期待どおりに動作しますか?
この特定の問題については、次のものも使用できます。
Alt + Backspace
$ cd /home/me/test/a_dir/ # Alt + Backspace
$ cd /home/me/test/ # Alt + Backspace
$ cd /home/me/ # ...
良い参考:bashの単語消去を使用した冒険
Ctrl+w
またはCtrl + Bまたは何かにunix-filename-rubout
、それはとても良いです内蔵の結合があること:M-バックスペース(Altキー+バックスペースキーまたはEscキーをバックスペース)
bashを使用すると、〜/ .bashrcファイルに以下を追加して、目的の効果を得ることができます。
bind '"\C-w":backward-kill-word'
ヒットCTRL+V
とあなたのキーの組み合わせは、それがあなたの端末エミュレータのためどのように見えるかを確認します。たとえば、CTRL+bksp
異なる端末などで異なる解釈することができます^H
か^?
。^
文字は同じですCTRL
。
/
delete-word-commandを他のキーにバインドする方法ではなく、追加のストップ文字として使用したかったのです。私は私の質問に編集
^F
使用"\^F"
していますが、上記のスクリプトで使用しても動作しません
stty werase undef
任意のプログラムでCwを使用できなくなることに注意する必要があります(バインドによりreadlineで使用できるようになります)