Автодополнение zsh не работает под Cygwin для других дисков

Автодополнение zsh не работает под Cygwin для других дисков

Я использую 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), но он обнаруживает, что у вас есть доступ на запись в него - в этом и проблема.

Связанный контент