Readline: ダッシュをハイフンとして扱う

Readline: ダッシュをハイフンとして扱う

Vimがデフォルトで処理するように、Readlineはダッシュで区切られた単語を単一の単語として扱いたいと思います。

たとえば、下の行の末尾に行き、次のように入力するとctrl-W

cp long-filename-with-dashes

dashesReadlineは、文字列全体ではなく空白まで削除します。

他のものを損なうことなくこれを設定する方法はありますか?

答え1

次の2行を使用して目的の動作を達成できましたbashrc

stty werase undef
bind '\C-w: backward-kill-word'

しかし、可能な副作用はまだ知られていません。

編集するinputrc:触ったりbashrc頼らずに正しい設定方法を見つけました。sttyこの記事:

set bind-tty-special-chars Off

$if Bash
  \C-w: backward-kill-word
$endif

修正する:これはVimの中立的なbind-tty-special-chars行動(そしておそらく他のものも)を破るように見えるので、私にとって最善の解決策はVimをと 。we<c-w>stty werase undefbashrc\C-w: backward-kill-wordinputrc

関連情報