나는 ZSH의 자동 수정 기능을 좋아하지만 때로는 방해가 될 때도 있습니다.
cli
디렉토리 가 있는 경우npm run ci
.- Docker 명령을 실행하면
docker run -v /some/dir:/var/www
자동으로 수정을 시도합니다./some/dir/var/www
- ... 더 많은 것이 있습니다
지금 나는아니요자동 수정을 끄거나 명령 앞에 를 붙이고 싶습니다 nocorrect
. 제가 원하는 것은 일반적인 제안을 포함하고 제안에 "아니요"라고 말한 횟수를 세고 "아니오"라고 3번 말한 후 다시는 제안하지 마세요. 나에게 이런 일이 가능할까?
답변1
아니요, 불가능합니다. 당신은 그것을 사용할 수 있습니다$CORRECT_IGNORE
그리고$CORRECT_IGNORE_FILE
Zsh에게 특정 항목을 제안하지 말라고 지시옳은,그러나 Zsh에게 특정 입력을 수정하지 말라고 지시할 수는 없습니다. 따라서 수정되어서는 안 되는 모든 단어를 수집하는 함수를 작성하려고 시도하는 것은 의미가 없습니다. 이 정보를 Zsh에 전달할 방법이 없기 때문입니다.
setopt CORRECT
not 을 사용하는 것보다 철자가 틀린 명령만 수정하는 just 를 사용하는 것이 더 나을 것입니다 setopt CORRECT_ALL
.모두그게 다야. 필요한 경우 unsetopt CORRECT_ALL
설정을 취소할 수 있습니다.
또 다른 옵션은 다음을 사용하는 것입니다.zsh-hist
플러그인undo를 사용하면 명령 기록에서 또는 를 눌러 마지막 명령줄을 편집할 수 있습니다 hist
. 이는 철자 오류를 수정하는 더 안정적인 방법일 수 있습니다.