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대체 단어 스타일을 선택하세요.

$ 에코 HelloFriend Alt+Z
단어 스타일(자세한 내용을 보려면 Return 키를 누르세요):
(b)애쉬 (n)일반 (s)지옥 (w)하이트스페이스 (d)기본 (q)uit
(B), (N), (S), (W) 위와 같이 하위 단어 일치

그런 다음 대문자는 단어 선택 스타일 B(나에게는 짜증나지만 익숙할 수도 있음)을 선택 bash하지만 낙타 대소문자 하위 단어 처리를 사용하면 ( emacs모드에서) Ctrl+ W(또는 Alt+ ) 가 위 항목 Backspace을 제거하거나 +가 처음으로 다시 이동합니다. 그 말 등등FriendAltBFriend

관련 정보