CygwinをWindowsにインストールしました。デフォルトのパッケージの1つはgitタブ補完ですが、タブ補完がありません。
検索を行ったところ、デフォルトでは有効になっていないというメモが見つかりました。 skel .bashrc and .bash_profile to ~ and in .bashrc
をコピーして、行のコメントを解除して完了し、コンソールを再起動しました。まだ何もない。
その後、ファイル.bash_completionが/etc
に存在しないことに気付いたので、そのコピーをオンラインで見つけて配置しましたが、まだgitで完了していません。
/etc/bash_completion.d
が含まれるgit/
ディレクトリもあるようですが、私にもありません。
2016年に更新:インストールパッケージbash-completion
。
上記の答えは、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の「完了」パッケージ。
私の.bashrc
for file in /etc/bash_completion.d/* ; do
source "$file"
done
数日前に同じ問題に遭遇し、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
「git-completion」パッケージをインストールするには、cmd.exeから実行します。
cyg-get git-completion
その後、.bashrcを変更する必要はありません。
次のCygwinパッケージをインストールする必要がありました。
bash-completion
bash-completion-devel
2016年5月の時点で、ここにあるCygwinセットアップユーティリティ(v2.874)を使用してbash-completionパッケージをインストールするだけで、git&svnタブ補完を機能させることができました: https://www.cygwin.com /install.html 。 [インターネットからインストール]オプションを必ず選択してください。 bash-completionパッケージは、Shellsカテゴリの下にリストされています。