9

Я только что перешел с bash на zsh 4.3.4 на Ubuntu Hardy. Я занимаюсь разработкой с помощью git и постоянно борюсь с выполнением git по умолчанию: завершение имени файла пытается быть умным, обнаруживая, что вы добавили или удалили (используя git-ls-файлы), но иногда это неправильно например, если вы находитесь в подкаталоге. Он также не знает о моих пользовательских псевдонимах git (например, git ci в качестве псевдонима для commit).

zsh суперпользователи, как мне улучшить эту ситуацию?

Вот некоторые из моих мыслей, хотя я не знаю, как их реализовать, так как я новичок в zsh, поэтому, возможно, вы можете помочь или предложить свои собственные:

  • Отключите завершение имени файла git, оставив только завершение ветви / тега / имени команды / опции команды.
  • Замените "умное" завершение имени файла обычным завершением имени файла zsh.
  • Получите новый файл завершения _git, если он исправляет эти ошибки, и переопределите системный.

Спасибо!

2 ответа2

4

Для больших проектов даже новые скрипты завершения git слишком медленные. Чтобы отключить их и просто использовать обычное завершение файла, поместите следующую команду в ваш .zshrc:

compdef -d git
4

Попробуйте обновить до последней версии Zsh. Я только что обновил с 4.3.4 до 4.3.10, и это, по крайней мере, исправляет проблему с псевдонимами Git, не завершающими.

Вместо того, чтобы взломать мою установку, я добавил это в свой локальный .zshrc:

customzsh=/usr/local/src/zsh-4.3.10/bin/zsh-4.3.10
if [ "$SHELL" != "$customzsh" ]; then
  export SHELL=$customzsh
  exec $customzsh
fi

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