2009-10-29 7 views
12

私はzshのタブ補完に問題があります:実行後:ファイルのためのzsh compinitでgitファイルのタブ補完を有効にするには?

autoload -U compinit 
compinit 

Gitのタブ補完がこれ以上動作しません。たとえば、git add my_fと入力してmy_fileを完成させると、何も起こりません。 zsh gitの補完は、gitブランチとタグでのみ機能するようです。

compititのものがなければ、gitファイルの補完はうまくいきますが、もちろん私は完全なブランチ補完用のものを見逃しています。

だから... zitでgitファイルの完成とgitのブランチ補完を同時に可能にする方法はありますか?これは本当に私を助けてくれるでしょう。

+2

私の.zshrcには、私は 'autoload -U compinit'と 'compinit'を別々の行につけています。あなたは1つのコマンドを実行していますか、または私を混乱させるフォーマットですか? – bobDevil

+1

'git add'の後にファイルを補完することもできます(' zsh' 4.3.10-dev-1)。一つの驚くべきことは、 'git add'を完了すると、追跡されずに変更されたファイルだけが提供されることです(これはあなたが追加する必要がある唯一のものなのでOKです)。 'git diff'では、すべての追跡ファイルとすべてのブランチを提供します。 –

+0

@Chris Johnsen:あなたは正しいですが、現在のgitコマンドに適合するファイル、つまりgit addの場合は追跡されていないファイルのように動作します。私はそれに注意を払わずに完成を試みた。とてもありがとう! –

答えて

10

(私は未回答リストオフそれを得るために、主にここで答えを追加している。)

あなたはコメントからわかるように、それは作業を行います。月9月6日8時33分19秒2010年-0400

が完了:zshの

と互換性を持たせる

は06f44c3cc5ca5eca638f300a518c65aa98d26d6d

日をコミット:私は、全体のzshの状況は最近、あまりにも、大幅に改善されていると信じて

gash-completion.bashを変更して、bashcompinitを使用しているときにzshでも動作するようにします。 ...

だから、あなたはこのグーグル渡って起こり、そしてあなたの完了が動作しない場合は、(git.git HEADからブロブへのリンクポイント)あなたのgit-completion.bashをアップグレードしてみてください。現在のバージョンは1.7.3.2です。それは次のものにする必要があります。

+6

git.gitの 'contrib/git-completion.bash'を* zsh *の下で' bashcompinit 'を使って使用できるようにする最近の仕事がありますが、典型的な* zsh *インストールでは* git *補完を使う可能性が高くなります* zsh *:[Completion/Unix/Command/_git](http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob;f=Completion/Unix/に付属しています。コマンド/ _git; hb = HEAD)。 –

+0

私はそれが変わった時は分かりませんが、私はちょうどチェックして、私の完了はZshの下でGitのために非常にうまく動作しています。私はGit 1.8.3.4を使っています。これは何の価値があるのですか? – iconoclast

関連する問題