Uzupełnianie tabulatora w Linuxie jest jeszcze lepsze, niż myślisz

Uzupełnianie tabulatora w Linuxie jest jeszcze lepsze, niż myślisz

Autouzupełnianie w Linuxie to funkcja, która przyspiesza pracę, zmniejsza błędy, a powłoki, jak bash i zsh, oferują jej zaawansowane możliwości, szczególnie w kontekście poleceń git.

Podsumowanie

  • Funkcja autouzupełniania oszczędza czas i zapobiega błędom, automatycznie uzupełniając polecenia i nazwy plików.
  • Powłoki Linuksa, takie jak bash i zsh, oferują potężne funkcje autouzupełniania, które obsługują podpolecenia i opcje.
  • Polecenie git ukazuje pełny potencjał autouzupełniania z kontekstowymi uzupełnieniami.

Linux obfituje w skróty, musisz tylko wiedzieć, co to jest lub gdzie ich szukać. Autouzupełnianie to jedna z tych funkcji, która jest świetna w swojej najprostszej formie, z ukrytą mocą, której możesz nie być świadomy.

Czym jest autouzupełnianie?

Autouzupełnianie to fantastyczna funkcja, która dodaje wygodę, oszczędza czas i może pomóc w unikaniu błędów. To jedna z najstarszych form autouzupełniania w komputerach: naciśnij Tab na linii poleceń, a zobaczysz zakończone polecenie lub nazwę pliku (jeśli jest jednoznaczne) lub zestaw możliwych opcji (jeśli jest niejednoznaczne).

Oto kilka przykładów, jak działa autouzupełnianie.

Autouzupełnianie to funkcja twojej powłoki, a ten artykuł skupia się na dwóch najczęściej używanych: bash i zsh. Uzupełnianie jest w dużej mierze konfigurowalne, a funkcje różnią się między systemami.

Wpisz pierwsze litery polecenia (spróbuj apr lub mkd), a następnie naciśnij Tab. Jeśli twoja powłoka znajdzie tylko jedno polecenie zaczynające się na te litery, automatycznie je uzupełni, drukując pozostałe litery. Teraz możesz wcisnąć Enter, aby uruchomić polecenie, lub kontynuować pisanie, aby dodać więcej argumentów.

Jeśli twój początkowy tekst odpowiada więcej niż jednemu poleceniu, ich nazwy wyświetlą się na ekranie. Oto przykład pokazujący tekst rm, po którym następuje Tab:

Możesz kontynuować pisanie i naciskać Tab, aby zawęzić listę, aż stanie się jednoznaczna lub aż wpiszesz całe polecenie.

Autouzupełnianie działa również dla nazw plików, które podajesz jako argumenty. Na przykład, możesz wpisać ls /u a następnie Tab, a twoja powłoka powinna zakończyć to na ls /usr/. To znacznie przyspiesza pisanie dłuższych ścieżek i jest także znacznie mniej podatne na błędy.

Ten poziom autouzupełniania sam w sobie odmieni twoje doświadczenie z Linuksem. Kiedy po raz pierwszy dowiedziałem się o autouzupełnianiu, wydawało mi się to magiczne, a dziś nie wyobrażam sobie życia bez tej funkcji. Ale, jak niedawno odkryłem, autouzupełnianie oferuje znacznie więcej niż tylko uzupełnianie poleceń i nazw plików.

Autouzupełnianie to o wiele więcej

Na początek spróbuj autouzupełniania z poleceniem cd w katalogu zawierającym zarówno pliki, jak i foldery. Powinieneś zauważyć, że cd {początek-katalogu}, a następnie Tab, automatycznie uzupełnia nazwę katalogu, ale cd {początek-pliku}, a następnie Tab, nie działa. Powłoka jest wystarczająco inteligentna, aby rozpoznać, że argument cd powinien być ścieżką do katalogu, a nie pliku, więc automatycznie uzupełnia to pierwsze, ale nie to drugie.

Twoja powłoka powinna dodać ukośnik na końcu po ukończeniu katalogu, nawet jeśli musisz podać tylko nazwę katalogu. To pozwala szybko uzupełnić całą ścieżkę bez konieczności zatrzymywania się i wpisywania każdego / między nazwami katalogów.

Pokazując wszystkie dopasowania, gdy jest ich więcej niż jedno, twoja powłoka może pomóc Ci zawęzić to, co próbujesz wpisać. Ale niektóre powłoki idą dalej. Na przykład w zsh, na macOS, gdy wpisuję ls Do, a następnie Tab, moja powłoka drukuje dwa dopasowania: Documents i Downloads:

Jeśli teraz naciśniesz Tab ponownie, uzupełni do ls Documents/, a naciśnięcie Tab jeszcze więcej razy przełącza między ls Documents/ i ls Downloads/. Zauważ, że to dzieje się tylko, gdy jest niejednoznaczność. Jeśli wpiszesz ls Documents/, a następnie naciśniesz Tab, autouzupełnianie wyświetli wszystkie pliki wewnątrz Documents, zamiast przełączać się do katalogu Downloads.

Dodaj bind TAB:menu-complete do swojego ~/.bashrc lub TAB:menu-complete do swojego ~/.inputrc, jeśli chcesz, aby to działało w ten sposób.

Aby zaakceptować uzupełnienie podczas cyklicznego przechodzenia, ale kontynuować autouzupełnianie—np. dla długiej ścieżki—możesz nacisnąć / na końcu katalogu, który chcesz wybrać.

Autouzupełnianie może również obsługiwać opcje, które są wspierane przez podane przez ciebie polecenie. Na przykład spróbuj wpisać mkdir - a następnie Tab. Ponownie, wyniki będą zależeć od twojego środowiska, ale w każdym razie powinieneś zobaczyć listę opcji, które wspiera mkdir:

Na macOS moja powłoka pokazuje opcje jednoliterowe dla mkdir, takie jak.

-m oraz -p. Obok każdego z nich znajduje się tekst wyjaśniający, co robi ta opcja. W Ubuntu moja powłoka wyświetla długie opcje. Nie drukuje żadnych informacji o użyciu, ale długie opcje są bardziej samodokumentujące się w każdym razie.

Polecenie git wprowadza uzupełnienie na wyższy poziom

Automatyczne uzupełnianie opcji było prawdziwym odkryciem dla mnie. Byłem tak przyzwyczajony do korzystania z man lub opcji --help, aby pokazać użycie polecenia, że nie miałem pojęcia, że moja powłoka może zrobić wiele pracy za mnie. Jednak to polecenie git naprawdę pokazało mi prawdziwą moc automatycznego uzupełniania i od tego czasu zmieniło sposób, w jaki pracuję.

Program git jest niesamowicie świadomy, więc jego opcje automatycznego uzupełniania skutecznie zapewniają alternatywny interfejs. Możesz zacząć od eksploracji wszystkich podpoleceń gita, wpisując git , a następnie naciskając Tab:

Jednak git automatyczne uzupełnianie pokazuje swoją pełną moc podczas pracy w repozytorium git. Powiedzmy, że dokonałeś zmiany w jednym lokalnym pliku, na przykład README.md:

Teraz wpisz git add, a następnie Tab, a Twoja powłoka powinna zamienić to na git add README.md. Program git zauważył, że podpolecenie add może być następnie uzupełnione listą nazw plików, aby dodać je do aktualnego zatwierdzenia. Jest świadomy, że sens ma dodawanie tylko tych plików, które rzeczywiście się zmieniły, dlatego może automatycznie uzupełnić pełną nazwę jedynego pliku, który należy dodać.

Podobnie, po dodaniu pliku, git commit , a następnie Tab, automatycznie uzupełni jego nazwę, wraz z innymi plikami, które możesz natychmiast zatwierdzić, w tym plikami, które jeszcze nie zostały dodane:

To uzupełnienie uwzględnia nawet argumenty. Na przykład, gdy dodasz plik do indeksu, możesz go odwołać, używając git restore --staged, jak wyjaśnia git status. W tym momencie git restore --staged następnie z Tabem pokaże tylko README.md, jedyny plik, który jest na etapie:

Uzupełnianie za pomocą Tab jest tak przydatne, że będziesz z tego korzystać przez cały czas, gdy to odkryjesz. Ale warto zawsze być ciekawym: naciskaj Tab w różnych punktach swojego łańcucha poleceń, a dowiesz się, jak potężna może być ta funkcja.

Jeśli ciekawią Cię artykuły podobne do Uzupełnianie tabulatora w Linuxie jest jeszcze lepsze, niż myślisz, zajrzyj do kategorii Linux i odkryj jeszcze więcej interesujących treści.

Indeks
  1. Podsumowanie
  • Czym jest autouzupełnianie?
  • Autouzupełnianie to o wiele więcej
  • Polecenie git wprowadza uzupełnienie na wyższy poziom
  • Możesz być zainteresowany

    Dodaj komentarz

    Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

    Go up