web-dev-qa-db-ja.com

Cygwin gitタブ補完

CygwinをWindowsにインストールしました。デフォルトのパッケージの1つはgitタブ補完ですが、タブ補完がありません。

検索を行ったところ、デフォルトでは有効になっていないというメモが見つかりました。 skel .bashrc and .bash_profile to ~ and in .bashrcをコピーして、行のコメントを解除して完了し、コンソールを再起動しました。まだ何もない。

その後、ファイル.bash_completionが/etcに存在しないことに気付いたので、そのコピーをオンラインで見つけて配置しましたが、まだgitで完了していません。

/etc/bash_completion.dが含まれるgit/ディレクトリもあるようですが、私にもありません。

33
JAyenGreen

2016年に更新:インストールパッケージbash-completion

49
sesm

上記の答えは、bash_completion.d /のほぼすべてのスクリプトに対してbash: have: command not foundを出力します。 この答え リンクされた投稿から私のためにそれを解決します:

if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi

スクリプト/プログラム/ etc/bash_completionには、すでに/etc/bash_completion.dにスクリプトが含まれており、含まれるスクリプトに必要ないくつかの機能も定義されています。

ただし、これにより、特にCygwinではシェルの読み込みが遅くなることに注意してください(私にとっては約1秒の読み込みに遅くなります)。これを軽減するには、/ etc/bash_completion.d /のすべての名前を*.bakに変更してから、実際に気にするコマンドから.bakを選択的に削除します(おかげで 遅いロード時間cygwinのbashの場合 )。

更新:ファイル/etc/bash_completionが魔法のように消えました(bash-completionパッケージを2.1-1にアップグレードしたことが原因のようです)。簡単な解決策として、/ etcに/usr/share/bash-completion/bash_completionへのシンボリックリンクを作成しました。

Update 2:元の質問をもう一度読んで、/etc/bash_completion.dディレクトリがないという問題は、「bash- Cygwinの「完了」パッケージ。

9
Johann

私の.bashrc

 for file in /etc/bash_completion.d/* ; do
    source "$file"
 done
5
user2765647

数日前に同じ問題に遭遇し、bash-completionをインストールするだけでは不十分でした。

私の場合、問題は解決されました https://github.com/git/git/blob/master/contrib/completion/git-completion.bash をダウンロードして/etc/bash_completion.d/にコピーします

参照: https://git-scm.com/book/en/v1/Git-Basics-Tips-and-Tricks

4
vito

「git-completion」パッケージをインストールするには、cmd.exeから実行します。

cyg-get git-completion

その後、.bashrcを変更する必要はありません。

4
Evmorov

次のCygwinパッケージをインストールする必要がありました。

  • bash-completion
  • bash-completion-devel
3

2016年5月の時点で、ここにあるCygwinセットアップユーティリティ(v2.874)を使用してbash-completionパッケージをインストールするだけで、git&svnタブ補完を機能させることができました: https://www.cygwin.com /install.html 。 [インターネットからインストール]オプションを必ず選択してください。 bash-completionパッケージは、Shellsカテゴリの下にリストされています。

2
bblues