Zakończenie komend git

17

Niedawno przeszedłem z używania Ubuntu Box przez ostatnie 7 lat na Maca. Czytałem inne posty jak przełączanie z Ubuntu OS X i jestem zagubiony i Jaka jest różnica między iTerm2 i terminalu?

Dlaczego iTerm2 i Terminal nie wypełniają argumentów polecenia?

Na przykład. Jeśli zrobię gi+ Tab, automatycznie uzupełni to słowo, gitco jest dobre. Kiedy dodam spację i spróbuję remo+ Tab, dlaczego nie otrzymam jej autouzupełniania, aby remotepolubić w Ubuntu. Muszę wpisać wszystko ręcznie po słowie git. To samo dotyczy innych poleceń.

Czy robię coś źle, czy coś brakuje?

(Należy pamiętać, że nie mówię o cmd+ ;skrót który Autouzupełnianie wpisywanych wcześniej wpisy w iTerm2).

rgamber
źródło
1
Terminal i iTerm2 nie wykonują polecenia To jest powłoka i jej dodatki, które mogą być takie same w Linuksie i OSX, więc musisz określić, jaka jest pełna konfiguracja w Linuksie i powielić ją w OSX.
user151019,
Chcesz autouzupełniania dla git - patrz apple.stackexchange.com/q/55875/24565
Michael Durrant

Odpowiedzi:

11

Najprostszym sposobem na autouzupełnianie w OS X jest zmiana powłoki zsh.

Możesz przetestować rzeczy, uruchamiając zshw iTerm i terminalu przed wykonaniem powyższego przełącznika. Jeśli naprawdę chcesz się trzymać bash, możesz zacząć od tych dwóch pytań:

bmike
źródło
3
Słodkie! zsh jest dobry! Nigdy nie przejmowałem się przejściem z bash :). Update:Używanie zsh z oh-my-zsh jest niesamowite.
rgamber
ahhh love oh-my-zsh
Prefiks
13

Rozwiązaniem przy przechodzeniu z Ubuntu jest użycie homebrew, menedżera pakietów dla Mac OSX . W szczególności, gitdołączysz wiele dodatków, w tym ukończenie bash. Będzie to prawdą w przypadku innych programów, które są niestabilne dla programistów, takich jak make.

W 2 krokach:

  1. zainstaluj za pomocą ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  2. Uruchom, brew doctoraby poprawnie skonfigurować ścieżkę
  3. Zainstaluj zakończenie git i bash: brew install git bash-completion
  4. Dodaj polecenie return w poprzednim kroku w swoim .bash_profile.
  5. Uruchom ponownie sesje bash po zapisaniu nowych narzędzi i konfiguracji w systemie plików.

Więcej na ten temat .

meduz
źródło
3

Mam dwie sugestie:

  1. używać ryb , to naprawdę proste i łatwe

    za. przedłużyć go, używając och-my-fish

  2. zsh z oh-my-zsh. Zsh jest już zainstalowany, więc nie musisz wiele robić.

    za. chsh -s /bin/zsh

    b. wyloguj się i zaloguj ponownie

    do. wykonaj to, aby zainstalować oh-my-zsh wget --no-check-certificate https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | shWięcej informacji tutaj: https://github.com/robbyrussell/oh-my-zsh

Używam, oh-my-zshale też fishjest świetny.

ipinak
źródło
3

To nieco omija problem, na wypadek, gdyby ktoś chciał zachować wersję Git dostarczoną przez Apple w swoim systemie.

Możesz utworzyć aliasy w pliku .gitconfig w katalogu domowym dla krótszych poleceń git. Na przykład mam skonfigurowane git, więc zamiast tego git stdziała git status.

Przykładowe aliasy w .gitconfig:

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch
Kevin Chen
źródło
2

Dla tych, którzy szukają rozwiązania do wykonywania poleceń bash, które jest tak łatwe w użyciu jak zsh + oh-my-zsh, jest teraz projekt bash-it . Który, mówiąc własnymi słowami, jest „bezwstydnym zdzieraniem oh-my-zsh” - naprawdę nie ma w tym nic złego!

Tworzy wtyczkę podobną do architektury, jak w przypadku oh-my-zsh, w której możesz łatwo wprowadzać i wychodzić ze swojego środowiska oraz uzyskiwać nowe rzeczy poprzez synchronizację z ich projektem github.

Instalacja w trzech łatwych krokach:

  1. Sprawdź klon tego repozytorium: git clone https://github.com/revans/bash-it.git ~/.bash_it
  2. Uruchom ~/.bash_it/install.sh(automatycznie tworzy kopię zapasową ~/.bash_profile)
  3. Edytuj ~/.bash_profileplik, aby dostosować bash-it.

Jeśli boisz się pełnego przełączenia na zsh, bash-itjest to przyjemny środek, który utrzymuje cię, bashale daje wiele potężnych wtyczek, dzięki którym możesz rozszerzyć swoje środowisko.

Ian C.
źródło