ctrl + backspace がイチ単語消せますよね。
で、単語ひとつ削除できて便利なんです。
ターミナルで単語1つ消したい。
単語1つけすだけだから、readline/bashにinputrc で設定渡せばいいじゃん?
バックスペースは ^ H に割り当てられるので、それを解除して。^? に相当の機能を割り当ててみる。
stty erace "^H"
bind '^?' unix-word-rubout
これでできそうなんですが・・・バックスペース単体が出来ない。。。
bind で現在の設定を確認する。
bind -p | grep '\?'
どうやら、^ H 自体を書き換えるしかないっぽい。詳しく調べるには時間がない。
iTerm でキーマップを無理やり変更することに。
iTermの機能で、キーマップ無理やり変更することにしました。
元のキー | マッピング先 |
---|---|
ctrl+delete | 0x17 |
ctrl+Left | \eb |
などとして、Windows的なキーバインドを使うことにしました。
もしくは諦める。
Opt+Delete が terminal 上で 単語ひとつ削除に割り当てているので、ソレを使う。
納得出来ない
納得出来ないので、 inputrc と bind について追調査が必要。
参考資料
Bash: can I set Ctrl-Backspace to delete the word backward? - Super User