シェル - bash - Ctrl+W で / まで


 クラウディア


1. 概要
2. 設定

1. 概要

 「tcsh」だと、Ctrl+W で、単語削除する際、「/(スラッシュ)」で止まってくれます。  以前に入力したコマンドのサブディレクトリ部分を変更したい場合などは、便利です。  「bash」のデフォルトの設定では、「/」で止まらないので、ディレクトリを記述している文字列は、全部消えちゃいます。  これは、使いにくいんだなぁ。  調べると、同じ思いをしている人は、たくさんいるようでした。  本ページは、下記のサイトを参考にさせていただきました。
bash ショートカットキー備忘録 #Bash」
「bash の ctrl+w キーバインドでスラッシュまでだけ消したい

2. 設定

 コマンドプロンプトでやってもいいのでしょうが、毎回打つのは面倒なので。

vi ~/.bashrc
 下記を記述します。

stty werase undef
bind '"\C-W": unix-filename-rubout'
bind '"\C-w": unix-filename-rubout'
 最初に、単語削除機能自体を削除しているようです。  参考サイトでは、末尾の行のみですが、なぜか大文字小文字とも書かないと機能してくれない。  ログインしなおすのは、面倒なので。

source ~/.bashrc
 で反映させます。  ときどき機能してくれなくて、2回実行します。

earthcar(アースカー)