Uzupełnianie zakładki terminala [duplikat]

15

Możliwa duplikat:
Ukończenie bash dla poleceń w Mac OS

Właśnie przeniosłem się z Linuksa na Maca, a jednym z problemów jest to, że uzupełnianie tabulatorów ma tylko 1 poziom głębokości i nie jestem pewien, jak to naprawić.

Pozwól mi wyjaśnić na przykładzie - kiedy użyłem git na Ubuntu, zacznę pisać

$ git

i naciśnij klawisz tab, a powłoka dokończy polecenie lub wyświetli opcje dostępne dla wpisanej litery. Tak też dzieje się na moim komputerze Mac (1 poziom). Jednak gdybym kontynuował pisanie następnej części polecenia

$ git commit

i naciśnij klawisz tab, terminal mac nie dokończy następnej komendy (dla git), tak jak w Linuksie. To samo dotyczy innych programów, które obsługują tę wielopoziomową komendę. Podejrzewam, że może to być problem z biblioteką readline, ale nie jestem pewien, który powinienem zainstalować.

sa125
źródło
Nie jest to kwestia readline (w rzeczywistości nie jest to „problem”), ponieważ Ubuntu trzyma się za rękę z niestandardowymi pakietami do bash.
Jed Smith
Jest to zdecydowanie problem z konfiguracją bash (ponieważ dostaję to zachowanie na Mac + wiele innych, dla których skonfigurowałem to, jak uzupełnianie nazw hostów). Powinieneś rozejrzeć się za skryptami Power Bash i dodać je do swojego profilu.
Shane C. Mason

Odpowiedzi:

13

Pobierz bash_completion i uzyskaj go ze swojego .bashrc. Następnie wstaw contrib/completion/git-completion.bashz dystrybucji git do bash_completion.d.

Możesz też zainstalować go za pośrednictwem MacPorts .


źródło
dzięki, zadziałało. Dodałem następujące w moim .bashrc, jeśli [-f / opt / local / etc / bash_completion]; następnie source / opt / local / etc / bash_completion fi
sa125 11.10.2009
1
Jeszcze lepiej, zainstaluj go przez homebrew: brew install bash-
complete
@abyx: wybranie „lepszego” między homebrew a macports jest bardzo subiektywną sprawą
2

W przypadku git dostępna jest opcja kompilacji w celu obsługi ukończenia.

Jeśli użyłeś portu do zainstalowania Gita (co polecam), możesz ponownie zainstalować git za pomocą tego polecenia

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

Który zainstaluje git z zakończeniem bash, wsparcie git-svn i dokumenty

Aurélien Bottazini
źródło