2015-06-20 12 views
39

Szukałem trochę czasu na łatkę do tego. Zwykle na terminalu Unix/Linux, gdy naciśniesz tabulator, będzie on automatycznie uzupełniany, aż pojawi się kilka opcji, a następnie wyświetli listę opcji, które możesz wybrać. Na przykład:Terminal Mac Auto Complete

cd he 
helpFolder/ helpMe/ heIsThere/ 
cd help 

Teraz z terminalu Mac Zmusza cię naciskać go dwukrotnie, aby wyświetlić opcje i zastanawiałem się, czy jest możliwe, aby zmienić to ustawienie z jednym naciśnięciem karcie?

Odpowiedz

18

umieścić to w swojej ~/.inputrc:

set show-all-if-ambiguous on 

Musisz ponownie uruchomić powłokę (na przykład poprzez otwarcie nowego okna terminala lub wpisując exec /bin/bash).

+0

gdzie jest plik ~/.inputrc –

+2

@Vikas po prostu wpisz nano ~/.inputrc lub pico .inputrc, aby go edytować. z powodu okresu, plik jest ukryty, więc nie zobaczysz go w żadnej przeglądarce – Bqin1

79
  1. Wpisz w terminalu nano ~/.inputrc
  2. Wklej następujący na oddzielnych liniach

    set completion-ignore-case on 
    set show-all-if-ambiguous on 
    TAB: menu-complete 
    
  3. Kontroli Hit + O, aby zapisać zmiany .inputrc następnie Control + X, aby zamknąć
  4. otworzyć nowy Okno lub karta terminala lub wpisz "login", aby otworzyć nową sesję z obowiązującymi regułami
  5. Wpisz i naciśnij klawisz tabulatora

Src: http://osxdaily.com/2012/08/02/improve-tab-completion-in-mac-os-x-terminal/

+1

Dla innych osób, które próbują tego: próbowałem tego w ~/.profile i dostałem błąd po ponownym uruchomieniu: -bash: TAB: menu- complete: polecenie nie znaleziono. W .inputrc działało dobrze. –

+0

czy można pokazać, że wszystko jest niejednoznaczne? teraz, gdy dwukrotnie pukam w zakładkę dla pustego katalogu, nic nie pokazuje – VTS12

4

Co chcesz zmienić to ustawienie powłoki Bash. Moja wersja OS to 10.11.6 i używam mvim, tutaj tylko vim lub vi, jeśli ~/.inputrc nie istnieje, musisz utworzyć nowy.

  1. W terminalu typu vim /.inputrc.
  2. Zmienna ukończenia-ignore-sprawy i show-all-if-dwuznaczne muszą być włączone do ON, odbywa się to przez pasty te ustawienia w dwóch liniach, set completion-ignore-case on i set show-all-if-ambiguous on

  3. Dodaj TAB: menu-complete i napisz & wyjdź z vima. : wq

  4. Zamknij działający terminal, Command + Q.
  5. Ponownie uruchom terminal i sprawdź wynik.