ЗШ закладка завершение GIT команд очень медленно. Как я могу отключить его?


18

Если тип I:

rm <TAB>

Я вижу возможные завершения почти мгновенно.

Однако, если тип I:

git rm <TAB>

Она будет висеть в течение нескольких секунд, если это в мерзавца репо, или не показывает какие-либо доработки, если я за пределами мерзавца репо.

Как я могу исправить это поведение?

Там нет ничего в моем .zshrc, что похоже, что это связано с мерзавцем: - /


+1 этого МУ диски так тронутый я подключен мой мозг , чтобы не ударить <TAB>при использовании мерзавца.
Christopher

Ответы:


26

Я , наконец , надоело Google это и придумал это так , ответ, который работал отлично для меня. Добавьте это к .zshrc:

__git_files () { 
    _wanted files expl 'local files' _files     
}

Там же глубокий список рассылки нить здесь об этом объяснить , что zshделает , чтобы так долго.


1
Это не сработало для меня. Я загружаю следующие плагины oh-my-zsh: plugins = (git gitfast last-working-dir zeus). Я загрузил выше функцию после плагинов.
Джастингордон

1
У меня такая же проблема. Комментируя подтверждающий успех: на OSX 10.8.5, ЗШ 4.3.11, GIT 1.8.2, что запись .zshrc сделала все различия. Без него, процессор регулярно возлагали на 100%. С его помощью , автодополнению кажется примерно одинакова для GIT команд , как и любой другой. Спасибо! :)
еженедельно

Убедитесь , что вы поместите эту команду перед тем ваши ЗШ плагинов, в противном случае вы могли бы в конечном итоге с быстрой автозавершения, но ошибки как только вы попытаетесь на самом деле выполнить команду Git.
Симон

1

Вот еще один вариант: официальное завершение Git zsh: git-creation.zsh . Все, что вам нужно сделать, это загрузить его ~/.zsh/_gitи убедиться, что он находится в вашем fpath:

fpath=(~/.zsh $fpath)

Я нахожу интересным , что этот поток упоминается в другой ответ; Я начал эту тему и в результате написал официальное завершение Git zsh.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.