warum zsh git autocompletion nicht so gut wie bash ist?

3633
Vitaly Kushner

zsh ist überall zu empfehlen und soll eine der fortschrittlicheren Granaten sein. Warum finde ich es dann so, dass zsh autocompletion in vielen Bereichen fehlt, die ich mit bash gewohnt bin?

insbesondere die Autovervollständigung von git in zsh ist sehr schlecht:

  • In Bash kann er Äste und Befehlsoptionen vervollständigen. nicht so in zsh
  • In zsh werden die Dateinamen nach vielen 'git'-Befehlen (z. B. git diff) nicht einmal abgeschlossen. duh!
-3
Bitte formulieren Sie Ihre Frage neu. Wenn Sie etwas in zsh tun möchten, fragen Sie das. Redaktionelle Kommentare sind unnötig und im Fall Ihrer zweiten Kugel entzündlich. http://catb.org/~esr/faqs/smart-questions.html Richard Hoskins vor 15 Jahren 6

3 Antworten auf die Frage

9
Sven

Autocompletion für git ist keine auf Bash basierende Funktionalität, sondern ein zusätzliches "Drittanbieter-Plugin", das das grundlegende Autocomplete-System der Shell verwendet, das Sie zufällig installiert haben (AFAIK ist Teil der Git-Installation).

Für zsh existiert entweder keine ähnliche Autocomplete-Datei, oder Sie haben sie nicht installiert.

Dies sagt jedoch nichts über die Qualität der beiden Shell aus, es bedeutet nur, dass sich jemand die Mühe gemacht hat, diese für die Bash zu erstellen, aber für Zsh wollte es niemand (oder Sie haben es einfach nicht installiert).

3
a paid nerd

Versuchen Sie ein Upgrade auf mindestens Zsh 4.3.10. Es behebt die Probleme mit Git-Aliasen.

3
sp3ctum

I'm a really new user of zsh but one of the first things I installed was oh-my-zsh. It is a community-driven collection of plugins, themes and other awesome stuff. It has a solid set of default settings that have "just worked" for me.

It makes for a fun experience since with zsh's awesome completion system managing local and remote branches is a lot clearer.

My version is from the standard Ubuntu repositories: zsh 4.3.11 (x86_64-unknown-linux-gnu). I suggest you try oh-my-zsh out to see if it works for you out of the box like it did for me.