Czy wypełnianie zakładki BASH wypełnia pierwszy mecz?

11

Czy jest jakiś sposób, aby BASH wypełnił pierwsze dopasowanie po naciśnięciu klawisza TAB, podobnie jak wiersz polecenia systemu Windows?

(Powinien nadal wyświetlać listę dopasowań, ale powinien przełączać się między nimi, gdy naciskam klawisz Tab.)

czyli celem jest, aby być w stanie wypełnić w każdym meczu z tylko klawisza TAB, biorąc pod uwagę wystarczająco dużo prasy - jak w systemie Windows.

użytkownik541686
źródło

Odpowiedzi:

15

Dodaj do .inputrcpliku następujące elementy (dokładna lokalizacja różni się w zależności od systemu):

"\C-i": menu-complete

To mapuje TAB do menu-kompletnego, które automatycznie uzupełnia pierwsze dopasowanie.

Następnie dodaj (lub odznacz) show-all-if-ambiguous, pokazuje listę możliwych uzupełnień przy pierwszym naciśnięciu klawisza TAB.

Alternatywnie, możesz ustawić pełne menu dla sesji (bez edycji .inputrc)

bind '"\C-i" menu-complete'
Philomath
źródło
Nie. To zdecydowanie nie przypomina wiersza polecenia systemu Windows. :-)
user541686,
@ Mehrdad: edytowane, mam nadzieję, że już to mam.
Philomath,
+1 prawie !!! Tego właśnie chcę, ale czy jest jakiś sposób, aby to zrobić i wyświetlić menu, jeśli jest niejednoznaczne? (Wiem, że może to wymagać zbyt wiele, ale mam nadzieję, że to możliwe.)
user541686,
@ Mehrdad: jeśli tego chcesz, zaakceptuj to, pomaga to szybko uzyskać właściwe odpowiedzi. Jeśli chodzi o twoją nową prośbę zrobienia obu naraz, nie wierzę, że jest to możliwe, ale kto wie? ... Możesz jednak powiązać menu-completeinną sekwencję klawiszy, na przykład "\M-s"dla Meta+S, więc możesz wybrać według woli.
Philomath
1
Wiesz co? Wygląda na to, że faktycznie robi dokładnie to, co chcę: najpierw pokazuje menu, a następnie przegląda opcje! Nie sądzę, że widziałem to na pierwszym komputerze, którego wypróbowałem (może nie zwracałem uwagi), ale wydaje się, że działa idealnie! :) (Edytuj: Wygląda na to, że potrzebujesz zarówno tego ustawienia, jak i show-all-if-ambiguous włączonego, aby działało.)
user541686
4

Chociaż nie wiem o tym, aby ta funkcja działała z bash, zsh zawiera domyślnie dokładnie to, czego chcesz. Sprawdź oh-my-zsh i zsh .

zsh ma większość funkcji bash z kilkoma dodatkowymi funkcjami po wyjęciu z pudełka, takimi jak możliwość nawigacji za pomocą tylko tabulatora i enter!

Większość dystrybucji Linuksa zawiera pakiet do instalacji zsh.

Chris Knadler
źródło
1
... o mój zsh !! To ciekawe, przyjrzę się temu ... może, ale nie musi, zrobić to, czego potrzebuję.
user541686,
Cieszę się, że mogłem pomóc. Jakiej dystrybucji używasz? Mogę dać bardziej szczegółową odpowiedź z przewodnikiem na temat instalowania Zsh i o mój zsh.
Chris Knadler,
+1 Zainstalowałem Zsh, wydaje się całkiem niesamowite! Jeśli nie napotkam żadnych problemów, mogę to zaakceptować, dzięki! :) (Używam Ubuntu btw.)
541686,
Niesamowite, jeśli właśnie uruchomiłeś apt-get install zsh, a następnie uruchomiłeś automatyczny instalator dla oh-my-zsh tutaj , powinieneś być gotowy. Daj mi znać, jeśli potrzebujesz pomocy przy konfiguracji.
Chris Knadler,