developer tip

Zsh는 명령 앞에 _가있는 명령을 자동 수정하려고합니다.

optionbox 2020. 11. 4. 07:54
반응형

Zsh는 명령 앞에 _가있는 명령을 자동 수정하려고합니다.


최근에 Git 상태 등에 대한 셸 프롬프트의 통합 지원을 위해 Zsh를 사용하기 시작했습니다.

입력 할 때 :

 ruby -v

실행중인 루비 버전을 확인하기 위해 Zsh는 명령을 _ruby로 변경할 것인지 묻습니다. 프롬프트에서 아니오라고 말하고 예상대로 명령이 완료되면 명령이 올바른지 확인한 후 프롬프트에서 계속 질문을받습니다.

완성 파일이나 그런 종류의 파일이 있다고 가정합니다.

감사

최신 정보:

셸은 더 이상 _ruby를 완료하려고하지 않고 몇 번 셸을 닫은 후 응답을 중지했습니다.

파일 정리를 여러 번 시도했지만 50 줄 이상의 "opts"변수가 있고 줄이 모두 함께 실행되고 일부 줄은 150 자 이상입니다. 그래도보고 싶다면 첨부 파일을 이메일로 보낼 수 있습니다. 지저분한 게시물에 대해 진심으로 사과드립니다.


이것은 correct옵션에 의해 활성화되는 명령 자동 수정 입니다. 완성과는 아무런 관련이 없습니다. 당신이보고있는 _rubyzsh을가 더없는 생각하기 때문에 ruby명령하고 제공하는 _ruby가장 가까운 기존 일치한다.

방금 설치 한 경우 ruby, 그 가능성이 zsh사용할 수있는 명령 이전의 목록을 기억하고 있으며, 항상 명령이 사이에 등장했다 있는지 확인하기 위해 시도하지 않습니다. 이 경우 hash -rf. 이후의 zsh 세션은 ruby시작할 때 명령이 이미 존재 했기 때문에이 문제가 발생하지 않습니다 .

PATH때로는를 변경할 때 zsh가 일부 해시 된 명령을 잊어 버립니다. 이 옵션 hash_listall은 이에 대해 도움이됩니다. 위와 같이 zsh가 명령 캐시를 hash -rf.


별칭을 만들 수 있습니다.

alias ruby='nocorrect ruby'

자동 수정이 때때로 유용하기 때문에 zsh .meteor가 내가 입력했을 때 의미하는지 계속 물었을 때 내가 한 일 meteor입니다.


자동 수정 기능이 때때로 성 가실 수 있다는 것을 알았습니다. 그래서 저는 ~ / .zshrc에서합니다.

DISABLE_CORRECTION="true"

얼마 전 업데이트 후 원하지 않는 명령 자동 수정이 활성화되었습니다. 똑같은 일이 발생하고 되돌리려면 ~ / .zshrc 파일에서 다음과 같이 만들어야합니다.
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="false"

또는 다음과 같이 주석 처리하십시오.
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

참고 URL : https://stackoverflow.com/questions/3437454/zsh-wants-to-autocorrect-a-command-with-an-before-it

반응형