Uczyń bash ignorowaniem wielkości liter bez wypełniania tabulacji [duplikat]

40

Możliwy duplikat:
Uzupełnianie tabulacji bez rozróżniania wielkości liter w Bash

Czy jest jakiś sposób, aby uzupełnić tabulacją bash bez rozróżniania wielkości liter? Na przykład, jeśli mam plik o nazwie Hello.txti próbuję uzupełnić go tabulatorem wpisując, hea następnie Tabnie będzie działać. Musiałbym uzupełnić tabulatorem, wpisując He(zwróć uwagę na dużą literę H) i Tab. Czy jest jakiś sposób na skonfigurowanie bash, więc nie muszę zachowywać skrzynki, kiedy ją piszę i próbuję uzupełnić tabulatorem?

Wuffers
źródło
Cieszę się, że to działa w systemie Linux, ponieważ inne pytanie dotyczy OSX, @sathya
earthmeLon

Odpowiedzi:

55

Utwórz plik o nazwie .inputrcw swoim katalogu domowym i umieść w nim ten wiersz:

set completion-ignore-case on

Następnie otwórz nową powłokę i wypróbuj ją. Jeśli / etc / inputrc istnieje w twoim systemie, zazwyczaj powinieneś również dodać linię $include /etc/inputrc. Ale nie ma sposobu, aby uczynić to warunkowym, więc powinieneś go dodać tylko wtedy, gdy ten plik istnieje.

Gordon Davisson
źródło
14
Zapobiegnie to odczytaniu wartości domyślnych przez bash /etc/inputrc, co zepsuje nawigację za pomocą klawiszy Ctrl-Lewo / Prawo. Pamiętaj, aby dodać $include /etc/inputrcw swoim ~/.inputrc.
Nicolas Marchildon
1
Możesz również użyć polecenia bind -f ~ / .inputrc, aby ponownie załadować tę zmianę.
biskup
2
Zamierzam włączyć komentarz @NicolasMarchildon do odpowiedzi, ponieważ powinien on tam być
Eililon
O dziwo, to nie działa dla mnie. Oto mój ~/.inputrc: pastebin.com/WVQmrNZu
Alexey Petrenko
@AlexeyPetrenko To dla mnie wygląda dobrze. Czy w pliku są jakieś niewidzialne znaki, które psują rzeczy? Spróbuj wydrukować za pomocą LC_ALL=C cat -vet ~/.inputrc- na końcu każdej linii powinien być widoczny „$”, ale nic innego nie jest śmieszne. Spróbuj także bind -vi zobacz, co pokazuje completion-ignore-casezmienna. Wreszcie, czy jest coś w innym pliku inicjującym powłoki, który może to zmienić?
Gordon Davisson,