Я только что перешел с bash на zsh 4.3.4 на Ubuntu Hardy. Я занимаюсь разработкой с помощью git, и я постоянно борюсь с выполнением git по умолчанию: завершение имени файла пытается быть умным, обнаруживая, что вы добавили или удалили (используя git-ls-файлы), но иногда это приводит к ошибкам --- например, если вы находитесь в подкаталоге. Он также не знает о моих пользовательских псевдонимах git (например, git ci в качестве псевдонима для commit).
zsh суперпользователи, как мне улучшить эту ситуацию?
Вот некоторые из моих мыслей, хотя я не знаю, как их реализовать, так как я новичок в zsh, поэтому, возможно, вы можете помочь или предложить свои собственные:
- Отключите завершение имени файла git, оставив только завершение ветви / тега / имени команды / опции команды.
- Замените «умное» завершение имени файла на обычное завершение имени файла zsh.
- Получите новый файл завершения _git, если он исправляет эти ошибки, и переопределите системный.
Спасибо!
sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git
Ответы:
Попробуйте обновить до последней версии Zsh. Я только что обновился с 4.3.4 до 4.3.10, и это, по крайней мере, исправляет проблему с Git-псевдонимами, которые не завершаются.
Вместо того, чтобы взломать мою установку, я добавил это в свой локальный
.zshrc
:источник
Для больших проектов даже новые скрипты завершения git слишком медленные. Чтобы отключить их и просто использовать обычное завершение файла, поместите следующую команду в ваш .zshrc:
источник