1

Я использую Win7 x64, Cygwin 1.7 и zsh (и использую oh-my-zsh). Зш новичок тут.

Я рассмотрел zsh autocompletion, не работающий на 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 все работает нормально :(

Если я перейду в /f а затем наберу cd Por - завершение работает.

Как мне заставить это работать везде?

2 ответа2

0

Недостатком этого решения является необходимость указывать каждый диск, но он работает для меня:

zstyle ':completion:*' fake-files   '/:c' '/:d'
-1

У меня была похожая проблема. Если нашли решение:http://blog.en.edaro.net/2014/01/fix-broken-autocompletion-with-zsh-in.html

В моей ситуации проблема возникает только при запуске Cygwin от имени другого пользователя, когда вы установили Cygwin. И это может произойти, только если этот работающий пользователь является администратором (не тестируется с непривилегированным пользователем). Проблема может быть в следующем: как администратор, вы можете "всегда" изменять файлы, даже если chmod запрещает это. compinit не знает об этой ситуации (это приложение для Unix), но обнаруживает, что у вас есть доступ для записи - в этом проблема.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .