readlineでcamelCaseリバースターミネータをサポート

readlineでcamelCaseリバースターミネータをサポート

backward-kill-word古い英数字の単語を削除するためのreadline操作。たとえば、次のシナリオでこれを適用します(カーソルの位置を表示します)。

echo hello-friend▯

明らかにする

echo hello-▯

backward-kill-word通常はにバインドされていますが、<Alt-Backspace>readlineの設定ファイルでカスタマイズできます~/.inputrc

backward-kill-word私の質問は:英数字ではなく、最初の文字または最初の大文字が削除されるようにカスタマイズできますか?このようにして、CamelCaseの単語を削除するために使用することができます。例えば、私が始まると

echo HelloFriend▯

押した後に<Alt-Backspace>取得したい

echo Hello▯

答え1

に切り替えるオプションがある場合は、zsh次のものを使用できます。select-word-styleユーザー提供ウィジェットすべての単語の動作と操作に単語スタイルを選択できます。

次に追加~/.zshrc:

autoload -U select-word-style
zle -N select-word-style
bindkey '\ez' select-word-style
select-word-style default

Alt次に+を押してZ代替テキストスタイルを選択します。

$エコこんにちはAlt+Z
テキストスタイル(詳細についてはEnterをクリックしてください):
(b)アッシュ(n)ノーマル(複数)ヘル(w)ハイトスペース(d)基本(q)uit
(B)、(N)、(S)、(W)上記のように下位単語の一致

その後、大文字はB(私には迷惑ですが、あなたにはおなじみの)bashスタイルの単語選択を選択しますが、camelCaseサブワード処理の変更を使用します。ここで、(emacsモードでは)Ctrl+ W(またはAlt+)は上記の内容をBackspace削除するか、+は前の内容に移動します。最初に出てくる言葉の意味などFriendAltBFriend

関連情報