ターミナルタブの補完[複製]


15

重複の可能性:
Mac OSのコマンドのBash補完

私はLinuxからMacに移行したばかりですが、私が抱えている問題の1つは、タブ補完の深さが1レベルしかないことであり、それを修正する方法がわかりません。

例で説明しましょう-Ubuntuでgitを使用すると、入力を開始します

$ git

Tabキーを押すと、シェルはコマンドを完了するか、入力した文字に使用可能なオプションを表示します。それは私のMacでも起こります(1レベル)。ただし、コマンドの次の部分を入力し続けると

$ git commit

タブを押すと、mac端末はLinuxのように次のサブコマンド(git用)を完了しません。このマルチレベルコマンド補完をサポートする他のプログラムについても同様です。これはreadlineライブラリの問題であると思われますが、どちらをインストールする必要があるのか​​わかりません。


これはreadlineの問題ではありません(実際、「問題」ではありません)。これは、Ubuntuがbashのカスタムパッケージを使用しているためです。
ジェドスミス

これは間違いなくbash構成の問題です(ホスト名の補完など、Mac + alotでこの動作を取得しているため)、bashの電源スクリプトを探してプロファイルに追加する必要があります。
シェーンC.メイソン

回答:


13

bash_completionをダウンロードして、ソースから入手してください.bashrc。次にcontrib/completion/git-completion.bash、gitディストリビューションからに入れbash_completion.dます。

または、MacPortsからインストールできます。


おかげで、これはうまくいきました。[-f / opt / local / etc / bash_completion];の場合、.bashrcに以下を追加しました。ソース/ opt / local / etc / bash_completion fi
sa125

1
さらに良いことは、homebrewでインストールすることです:brew install bash-completion
abyx

@abyx:homebrewとmacportsの間の「より良い」選択は非常に主観的なことです

2

gitの場合、完了をサポートするためにコンパイル時に利用可能なオプションがあります。

ポートを使用してGitをインストールした場合(推奨)、このコマンドでgitを再インストールできます。

sudo port install git-core +svn+bash_completion+doc

bash補完、git-svnサポート、ドキュメントでgitをインストールします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.