osx를 실행 중이며 oh-my-zsh도 설치되어 있습니다."andr"탭은 android 또는 nothing 대신에 "_xrandr"로 완성됩니다.
어쨌든 "andr"과 같은 입력을 완료하고 탭을 완료하면 아무 것도 수행하지 않고 이 내 경로에없는 대신 _xrandr
으로 자동 완성됩니다. 나는 이유를 정말로 모른다.
그 이유는 무엇입니까?
osx를 실행 중이며 oh-my-zsh도 설치되어 있습니다."andr"탭은 android 또는 nothing 대신에 "_xrandr"로 완성됩니다.
어쨌든 "andr"과 같은 입력을 완료하고 탭을 완료하면 아무 것도 수행하지 않고 이 내 경로에없는 대신 _xrandr
으로 자동 완성됩니다. 나는 이유를 정말로 모른다.
그 이유는 무엇입니까?
oh-my-zsh은 입력 된 단어의 왼쪽에 완료가 없는지 확인한 후 완료를 설정합니다.
이 ~/.oh-my-zsh/lib/completion.zsh
에서 일어나는 : 여기
## case-insensitive (all),partial-word and then substring completion
if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
unset CASE_SENSITIVE
else
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
fi
중요한 부분은 'l:|=* r:|=*'
이다. 이 동작을 싫어하면 zstyle ':completion:*' matcher-list
에서이 동작을 제거하기 만하면됩니다. 이 작업을 수행하는 가장 좋은 방법은, 예를 own-completion.zsh
를 들어, 확장 .zsh
와 ~/.oh-my-zsh/custom
에서 파일을 만드는 것입니다 :
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*'
당신은 또한 'm:{a-zA-Z}={A-Za-z}'
을 제거하거나이를 원하지 않는 경우는, 대소 문자를 구별 완료입니다.
~/.oh-my-zsh/lib/completion.zsh
에서 직접 변경할 수 있지만 oh-my-zsh을 업데이트하면 덮어 쓰기가됩니다.
'android' 명령이 경로에 있습니까? – Guillaume
그것은 중요하지 않지만 관련성이 있어야합니까? 아무것도하지 말아야합니까? (그냥 질문 제목을 반영하도록 수정했습니다) – randomafk
경로 상에 없다면,'zsh'은 그것을 완료 할 수 없습니다! 'export PATH = $ PATH : '로'.zshrc'를 편집하여 명령을 추가 할 수 있습니다. –
Guillaume