
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、別の単語スタイルを選択できます。
$ エコー HelloFriend Alt+Z Word のスタイル (詳細についてはリターンキーを押してください): (b)ash (n)ormal (s)hell (w)hitespace (d)efault (q)uit (B)、(N)、(S)、(W)は上記と同様、サブワードマッチングあり
次に、大文字はB
(私にとっては煩わしいですが、皆さんにはおなじみの)bash
単語選択スタイルを選択しますが、キャメルケースのサブワード処理 alter が適用され、(emacs
モードでは)Ctrl+ W(またはAlt+ Backspace)で上記が削除されFriend
、Alt+ でその単語Bの先頭に戻る、などとなります。Friend