Mac Terminal Auto Complete

Od jakiegoś czasu Szukałem łatki do tego. Zwykle na terminalu Unix / Linux po naciśnięciu klawisza tab zostanie on automatycznie uzupełniony, dopóki nie będzie kilku opcji, a następnie wyświetli listę opcji poniżej do wyboru. Na przykład:

cd he
helpFolder/ helpMe/ heIsThere/
cd help

Teraz z terminalem Mac wymusza naciśnięcie go dwa razy, aby zobaczyć opcje i zastanawiałem się, czy można zmienić to ustawienie na jedno naciśnięcie tab?

Author: user1334858, 2015-06-20

4 answers

Włóż to do swojego ~/.inputrc:

set show-all-if-ambiguous on

Musisz ponownie uruchomić powłokę (na przykład otwierając nowe okno terminala lub wpisując exec /bin/bash).

 32
Author: rob mayoff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-20 19:52:38
  1. wpisz w Terminalu nano ~/.inputrc
  2. Wklej następujący tekst w osobnych wierszach

    set completion-ignore-case on
    set show-all-if-ambiguous on
    TAB: menu-complete
    
  3. Naciśnij Control + O, aby zapisać zmiany do .inputrc, po którym następuje control+X, aby zamknąć
  4. Otwórz nowe okno lub kartę terminala lub wpisz "login", aby otworzyć nową sesję z obowiązującymi regułami
  5. Wpisz i naciśnij klawisz tab

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

 101
Author: andrewoodleyjr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-29 19:29:00

To, co chcesz zmienić, to konfiguracja powłoki Bash. Moja wersja OS jest 10.11.6 i używam mvim, tutaj tylko vim lub vi, jeśli~/.inputrc nie istnieje, następnie należy utworzyć nowy.

  1. w typie terminala vim /.inputrc.
  2. Zmienna completion-ignore-case I show-all-if-niejednoznaczna muszą być włączone, odbywa się to poprzez wklejenie tych ustawień w dwóch liniach, set completion-ignore-case on i set show-all-if-ambiguous on

  3. Dodaj TAB: menu-complete i napisz i zakończ Vima. :wq

  4. Zamknij Terminal running, Command + Q.
  5. Uruchom Terminal ponownie i zweryfikuj wynik.
 5
Author: MLChris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-19 03:57:28

Dodaję nową odpowiedź, ponieważ w moim przypadku dodanie linii set show-all-if-ambiguous on nie wystarczyło.

Musiałem też usunąć linię: TAB: menu-complete.

Mój kompletny plik ~/.inputrc jest następujący:

set completion-ignore-case on
set show-all-if-ambiguous on
 1
Author: Francesco Boi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-13 09:17:55