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

관련 정보