2009-10-29 3 views
12

У меня есть проблема с ЗШ автодополнению: После запуска:Как включить завершение вкладки git-файла с помощью zsh compinit?

autoload -U compinit 
compinit 

Git автодополнению файлы не работают. Например, если я нахожу git, добавьте my_f для завершения my_file, ничего не произойдет. Выполнение zsh git, похоже, работает только для ветвей и тегов git.

Без компиляции материал git-файла завершается, но, конечно, я пропускаю все причудливые детали завершения ветки.

Итак ... Есть ли способ сделать завершение файла git и завершение завершения ветки Git в то же время в zsh? Это очень помогло бы мне.

+2

В моем .zshrc у меня есть «autoload -U compinit», а затем «compinit» на отдельной строке, и завершение работы отлично подходит для меня. Вы используете одну команду, или форматирование меня сбивает с толку? – bobDevil

+1

Заполнение файлов после 'git add' также работает для меня (' zsh' 4.3.10-dev-1). Одна из удивительных вещей заключается в том, что он предлагает только не проверенные и отслеживаемые, но модифицированные файлы при заполнении 'git add' (это нормально, так как это единственные вещи, которые вам нужно добавить). Для 'git diff', он предлагает все отслеживаемые файлы и все ветви. –

+0

@Chris Johnsen: Вы правы, он работает с файлами, которые соответствуют текущей команде git, например, без следов файлов в случае добавления git. Я попробовал завершить, не обращая внимания на это. Так что большое спасибо! –

ответ

10

(я добавляю ответ здесь в основном, чтобы получить его неразгаданной список.)

Как вы можете видеть из комментариев, что делает работу. Я считаю, что вся ЗШ ситуация в последнее время значительно улучшилась, тоже:

совершают 06f44c3cc5ca5eca638f300a518c65aa98d26d6d

Дата: пн 6 сентября 2010 8:33:19 -0400

завершение: сделать совместимым с Zsh

Измените git-completion.bash так, чтобы он также работал с zsh при использовании bashcompinit. ...

Так что, если вам случится через эту Googling, и ваше завершение не работает, попробуйте обновить свои git-completion.bash (указывает ссылка сгустка из git.git РУКОВОДИТЕЛЯ). Текущая версия git - 1.7.3.2; он должен превратить его в следующий.

+6

Несмотря на недавнюю работу по созданию git.git 'contrib/git-completion.bash' с помощью' bashcompinit' под * zsh *, типичная установка * zsh * с большей вероятностью будет использовать завершение * git *, которое поставляется с * zsh *: [Completion/Unix/Command/_git] (http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob;f=Completion/Unix/ Команда/_git; ПП = ГОЛОВКА). –

+0

Я не знаю, когда это изменилось, но я только что проверил, и мое завершение работает очень хорошо для Git под Zsh. (Я так привык к этому, что не думаю, что я пытался использовать его в течение многих лет.) Я на Git 1.8.3.4, для чего он стоит – iconoclast

Смежные вопросы