자동 수정 없이 zsh를 가르치는 방법은 무엇입니까?

자동 수정 없이 zsh를 가르치는 방법은 무엇입니까?

나는 ZSH의 자동 수정 기능을 좋아하지만 때로는 방해가 될 때도 있습니다.

  • cli디렉토리 가 있는 경우 npm run ci.
  • Docker 명령을 실행하면 docker run -v /some/dir:/var/www자동으로 수정을 시도합니다./some/dir/var/www
  • ... 더 많은 것이 있습니다

지금 나는아니요자동 수정을 끄거나 명령 앞에 를 붙이고 싶습니다 nocorrect. 제가 원하는 것은 일반적인 제안을 포함하고 제안에 "아니요"라고 말한 횟수를 세고 "아니오"라고 3번 말한 후 다시는 제안하지 마세요. 나에게 이런 일이 가능할까?

답변1

아니요, 불가능합니다. 당신은 그것을 사용할 수 있습니다$CORRECT_IGNORE그리고$CORRECT_IGNORE_FILEZsh에게 특정 항목을 제안하지 말라고 지시옳은,그러나 Zsh에게 특정 입력을 수정하지 말라고 지시할 수는 없습니다. 따라서 수정되어서는 안 되는 모든 단어를 수집하는 함수를 작성하려고 시도하는 것은 의미가 없습니다. 이 정보를 Zsh에 전달할 방법이 없기 때문입니다.

setopt CORRECTnot 을 사용하는 것보다 철자가 틀린 명령만 수정하는 just 를 사용하는 것이 더 나을 것입니다 setopt CORRECT_ALL.모두그게 다야. 필요한 경우 unsetopt CORRECT_ALL설정을 취소할 수 있습니다.

또 다른 옵션은 다음을 사용하는 것입니다.zsh-hist플러그인undo를 사용하면 명령 기록에서 또는 를 눌러 마지막 명령줄을 편집할 수 있습니다 hist. 이는 철자 오류를 수정하는 더 안정적인 방법일 수 있습니다.

관련 정보