почему zsh git autocompletion не так хорош, как bash?

3187
Vitaly Kushner

zsh рекомендуется повсеместно и считается одним из наиболее продвинутых оболочек. Почему тогда я обнаружил, что во многих областях, к которым я привык в bash, отсутствует автодополнение zsh?

в частности git автодополнение в Zsh очень плохо:

  • В Bash он знает, чтобы завершить ветки и параметры команды. не так в зш
  • в zsh он даже не завершает имена файлов после многих команд 'git' (например, git diff). Дух!
-3
Пожалуйста, перефразируйте свой вопрос. Если есть что-то, что вы хотели бы сделать в zsh, спросите это. Редакционные комментарии не нужны, а в случае вашей второй пули - подстрекательские. http://catb.org/~esr/faqs/smart-questions.html Richard Hoskins 15 лет назад 6

3 ответа на вопрос

9
Sven

Автозаполнение для git - это не встроенная в bash функциональность, а дополнительный «сторонний плагин», использующий базовую систему автозаполнения оболочки, которую вы случайно установили (AFAIK - это часть установки git).

Для zsh либо не существует аналогичного файла автозаполнения, либо он не установлен.

Тем не менее, это ничего не говорит о качестве какой-либо оболочки, это просто означает, что кто-то приложил усилия для создания этого для bash, но для zsh никто не хотел (или у вас просто не было установлено).

3
a paid nerd

Попробуйте обновить хотя бы до Zsh 4.3.10. Это исправляет проблемы с псевдонимами Git.

3
sp3ctum

Я действительно новый пользователь zsh, но одна из первых вещей, которые я установил, была oh-my-zsh . Это управляемая сообществом коллекция плагинов, тем и других замечательных вещей. У него есть солидный набор настроек по умолчанию, которые «просто сработали» для меня.

Это доставляет удовольствие, так как с замечательной системой завершения zsh управление локальными и удаленными филиалами стало намного понятнее.

Моя версия от стандартных репозиториев Ubuntu: zsh 4.3.11 (x86_64-unknown-linux-gnu). Я предлагаю вам попробовать oh-my-zsh, чтобы увидеть, работает ли он для вас из коробки, как он сделал для меня.