저는 Win7 x64, Cygwin 1.7 및 zsh를 사용하고 있습니다(그리고 oh-my-zsh를 사용하고 있습니다). Zsh 초보자입니다.
나는 검토했다zsh 자동 완성이 cygwin에서 작동하지 않습니다거기에서 해결책을 시도했지만 운이 없었습니다.
내 마운트 테이블:
C: on /c type ntfs (binary,posix=0,user,noumount,auto)
D: on /d type ntfs (binary,posix=0,user,noumount,auto)
F: on /f type ntfs (binary,posix=0,user,noumount,auto)
보시다시피 저는 /c, /d and /f
드라이브에 사용하고 있습니다. 이를 기본 접두사에서 변경하는 이유 중 하나는 /cygdrive
Msysgit과의 호환성을 유지하기 위한 것입니다.
불행히도 드라이브 접두사를 변경한 후 zsh 완료가 작동하지 않습니다
입력해도 cd /f/code/Por<tab>
더 이상 폴더나 현재 옵션이 완료되지 않습니다. 그래도 Bash에서는 잘 작동합니다 :(
CD를 입력 /f
한 다음 입력하면 cd Por
완성이 작동합니다.
어디에서나 작동하도록 하려면 어떻게 해야 합니까?
답변1
이 솔루션은 모든 드라이브를 각각 지정해야 한다는 단점이 있지만 저에게는 효과적이었습니다.
zstyle ':completion:*' fake-files '/:c' '/:d'
답변2
비슷한 문제가있었습니다. 해결책을 찾은 경우: http://blog.en.edaro.net/2014/01/fix-broken-autocompletion-with-zsh-in.html
내 상황에서는 cygwin을 설치할 때 다른 사용자로 cygwin을 실행할 때만 문제가 발생합니다. 그리고 이 실행 중인 사용자가 관리자인 경우에만 발생할 수 있습니다(권한이 없는 사용자로 테스트되지 않음). 문제는 다음과 같습니다. chmod가 이를 허용하지 않더라도 관리자로서 파일을 "항상" 수정할 수 있습니다. compinit은 이 상황(unix 앱)에 대해 알지 못하지만 쓰기 권한이 있다는 것을 알게 됩니다. 이것이 문제입니다.