最近、私は、コマンドなぜ 'git ls-files'はタブ補完に表示されませんか?
git ls-files
を発見し、私はそれが非常に便利(-h
オプションを使用してそれを参照してください)を見つけます。私がgit
と入力してTab
を押すと、なぜ表示されませんか?
つまり、「その他のコマンド」のリストはgit
ですか?彼らは/bin
、/usr/bin
に表示されるように、デフォルトで
最近、私は、コマンドなぜ 'git ls-files'はタブ補完に表示されませんか?
git ls-files
を発見し、私はそれが非常に便利(-h
オプションを使用してそれを参照してください)を見つけます。私がgit
と入力してTab
を押すと、なぜ表示されませんか?
つまり、「その他のコマンド」のリストはgit
ですか?彼らは/bin
、/usr/bin
に表示されるように、デフォルトで
git ls-files
は配管コマンドであり、これらのコマンドの多くは「隠され」ています。時間が経つにつれ、多くのものがbash補完に追加されましたが、多くはまだ "隠されています"
インストールし、タブ補完だけで何のファイル/usr/bin/git ls-files
はありませんなど、コマンドの名前が表示されます。
ls-files
は、シェルについて教えてくれるサブコマンドです。 bashを使用していると仮定すると、help complete
を実行して、.bashrc
に入れることができるコマンドを確認できます。
お使いのディストリビューションは、bashの補完パッケージを提供している場合、あなたは多くの時間を節約するためにそれをインストールすることができます。
apt-get install bash-completion # on Debian/Ubuntu/etc.
yum install bash-completion # on Fedora/Red Hat/etc.
しかしmanojldsが指摘するように、これはあまり一般的に使用されるのgitコマンドのために動作しません。例えばls-files
のように、bash-completionはあなたからのものを隠すので。変更するには/etc/bash_completion.d/git
を編集する必要があります。
私はかなりのOPには、bash-completionがインストールされていて、それはまだ良くありません。 –
あなたの~/.git-completion.sh
と__git_list_porcelain_commands()
の機能を見てください。 gitがサポートしているがタブダンプルではないコマンドは、そこにリストされています。これらのコマンドのほとんどは、ls-files
を含むいわゆる「配管」コマンドです。それぞれの行にコメントを付けると、簡単にタブを完成させることができます。このように:
#ls-files) : plumbing;;
#ls-remote) : plumbing;;
#ls-tree) : plumbing;;
しかし、あなたは私に "hidden" gitコマンドのリストへのリンクをくれますか?私はそれらをチェックしたいと思います。 – Adobe
@Adobe 'git help -a'を実行するとリストを見ることができます。 '〜/ .bash_completion'ファイルに以下を追加することで、タブ補完を上書きすることもできます:' _completion_loader git; __git_compute_porcelain_commands(){__git_compute_all_commands; __git_porcelain_commands = $ __ git_all_commands; } ' – dlitz
この答えは質問に答えません - 'git'の"他の "コマンドはどこですか?だから、なぜそれが正解とタグ付けされていますか? – fnl