![Die zsh-Vervollständigung funktioniert unter Cygwin für andere Laufwerke nicht](https://rvso.com/image/1346552/Die%20zsh-Vervollst%C3%A4ndigung%20funktioniert%20unter%20Cygwin%20f%C3%BCr%20andere%20Laufwerke%20nicht.png)
Ich verwende Win7 x64, Cygwin 1.7 und zsh (und oh-my-zsh). Zsh-Neuling hier.
Ich habe überprüftZsh-Autovervollständigung funktioniert nicht unter Cygwinund habe die Lösung dort ausprobiert, aber ohne Erfolg.
Meine Montagetabelle:
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)
Wie Sie sehen, verwende ich /c, /d and /f
für meine Laufwerke. Ein Grund für die Änderung des Standardpräfixes /cygdrive
ist die Wahrung der Kompatibilität mit Msysgit
Leider funktioniert die ZSH-Vervollständigung nach dem Ändern des Laufwerkspräfixes nicht
durch das Eintippen cd /f/code/Por<tab>
wird der Ordner nicht mehr vervollständigt oder es werden keine Optionen angezeigt. In Bash funktioniert es jedoch einwandfrei :(
Wenn ich cd einfüge /f
und dann eingebe cd Por
, funktioniert die Vervollständigung.
Wie kann ich es überall zum Laufen bringen?
Antwort1
Diese Lösung hat den Nachteil, dass jedes einzelne Laufwerk angegeben werden muss, aber für mich funktioniert sie:
zstyle ':completion:*' fake-files '/:c' '/:d'
Antwort2
Ich hatte ein ähnliches Problem. Ich habe eine Lösung gefunden: http://blog.en.edaro.net/2014/01/fix-broken-autocompletion-with-zsh-in.html
In meiner Situation tritt das Problem nur auf, wenn Cygwin als anderer Benutzer ausgeführt wird, als Sie Cygwin installiert haben. Und es kann nur auftreten, wenn dieser ausgeführte Benutzer ein Administrator ist (nicht mit unprivilegierten Benutzern getestet). Das Problem kann sein: Als Administrator können Sie „immer“ Dateien ändern, auch wenn chmod dies nicht zulässt. compinit weiß nichts von dieser Situation (es ist eine Unix-Anwendung), aber es findet heraus, dass Sie Schreibzugriff darauf haben – das ist das Problem.