명령줄에서 지역을 삭제하는 방법은 무엇입니까?

명령줄에서 지역을 삭제하는 방법은 무엇입니까?

난 그냥배운명령줄은 emacs처럼 표시됩니다. 하지만 emacs와는 달리 C-w영역을 삭제하지 않고 한 단어만 뒤로 삭제합니다. 이에 상응하는 것이 있습니까 readline?

답변1

readline 및 zsh에서 이는 kill-regionemacs 또는 tcsh의 위젯과 동일하지만 tcsh와 달리 둘 다 tty 장치 라인 규칙 ^W에 정렬되도록 선택하기 때문에 기본적으로 바인딩되지 않습니다.werase

info bash kill-regionzsh의 bash/readline을 참조하세요 .info zsh kill-region

^Wzsh에서 (tcsh와 마찬가지로) 에 바인딩하려면 :

bindkey '^W' kill-region

zsh에서 (tcsh와 마찬가지로).

weraseBash에서는 먼저 다른 문자를 사용하거나 altoger를 비활성화 하도록 줄 규칙을 구성해야 합니다 werase(그러나 그러면 tty 자체 줄 편집기에서 단어를 제거할 수 없습니다).

stty werase '^O'
# or:
stty werase '' # disable
bind '"\C-w": kill-region'

또는 readline을 사용하는 모든 애플리케이션에 영향을 미치도록 "\C-w": kill-region추가 하세요. ~/.inputrc여기에는 동일한 제한이 있습니다. werasereadline이 초기화되기 전에 다른 것으로 변경해야 하므로 bash의 경우 bash가 시작되기 전에.

관련 정보