%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 zsh를 좋아하고 철자 교정이 유용하다고 생각하지만, zsh가 다음과 같은 것들을 교정하는 것은 짜증스럽습니다.확실히수정하면 안 됩니다. 예를 들어, 방금 실행했습니다.
mv iso_ iso
그리고 그것은 대답했다
zsh: correct 'iso' to 'iso_' [nyae]?
생각해 보세요. 'iso'를 'iso_'로 수정하면 실행을 시도했다는 의미입니다.
mv iso_ iso_
결코 말이되지 않습니다. 따라서 이것은 실제로 zsh의 설계 결함이므로 전반적으로 수정되어야 합니다. 그러나 (적어도 내가 사용하는 버전에서는) 그런 일이 없었고 그럴 가능성도 없다는 점을 감안할 때 이를 수정할 수 있는 설정이 있습니까? 나는 그것을 고치는 비 kludgey 방법을 선호합니다. 예를 들어 의 별칭 mv
은 kludgey입니다.
답변1
이 문제를 해결하는 복잡한 방법이 있습니다. mv
, cp
및 의 동작을 수정하려면 mkdir
다음을 .zshrc 파일에 추가하세요.
alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias mkdir='nocorrect mkdir'
이는 여러 가지 이유로 이상적인 해결 방법이 아니며, 그 중 가장 중요한 것은 다음과 같은 경우가 있을 수 있다는 것입니다.하다명령 의 철자를 수정하고 싶습니다 mv
. 예를 들어, 다음을 실행하려고 한다면:
mv directory_a/sub/sub/some_file directory_b/sub/sub/
그런데 디렉토리 중 하나의 철자를 잘못 입력하여 입력을 마쳤습니다.
mv directory_a/sub/sub/some_file directry_b/sub/sub/
철자 교정이 도움이 되었을 수도 있습니다. (이것은 분명히 인위적인 예이지만 요점은 알 수 있습니다.)
답변2
correct_all
글쎄요, 그 기능이 마음에 들지 않는다면 이 옵션을 사용하지 마세요 .
FWIW, 기본적으로 설정되어 있지 않습니다. 어떤 이유로든 모든 사람을 위해 해당 옵션을 설정하는 것이 재미있는 아이디어라고 생각하는 인기 있는 구성이 인터넷에 있습니다(어느 것인지는 말하지 않겠습니다). 하지만 많은 애플리케이션에는 적합하지 않습니다. 그것은 만든다모든파일 이름 철자 수정이 적용되는 명령줄 인수... 말도 안 되는 소리입니다.
간단히 말해서: 오직 setopt correct
그리고아니다 setopt correctall
.
파일 이름 철자법에 도움이 필요하면 zsh의 완성 시스템이 파일 이름 _approximate
및 _correct
완성자에 도움을 줄 수 있습니다. 자세한 내용은 매뉴얼 페이지에서 확인할 수 있습니다 zshcompsys(1)
.