Bash emacsモードで、前のスラッシュ文字まで削除する方法はありますか?たとえば、コマンドcp /usr/local/bin/reallylongincorrectfolder /home/myname/reallylong_and_correct_path
を入力し、reallylongincorrectfolder
を削除したい場合、ショートカットはありますか?これは、bashでの私にとって非常に複雑なシナリオです。 viのdF<char>
のようなもの?
bind -P |grep unix-filename-rubout
たとえば、キーバインディングをテストします。 Ctrl-b:
bind \\C-b:unix-filename-rubout
永続的に使用するには、~/.inputrc
に追加します
Alt-Backspace そして Ctrl-w 通常、backward-kill-Word
にマップされます。システム上で何にマップされているかを知りたい場合は(もしあれば)、bind -P | grep '^backward-kill-Word'
を実行します。
@ Barmar で説明されているように、これはunix-Word-rubout
とは異なり、前のスペース境界に移動します。
これを.inputrc
に入れて、新しいシェルを開始します。
C-b:unix-filename-rubout
Ctrl-b 次のスラッシュまで逆方向に消去するようになりました。
涅槃!
忘れないでください Ctrl-XCtrl-E エディターが起動するので、複雑なコマンドラインを快適に編集できます。