2011-10-26 8 views
5

Próbuję skonfigurować moje ~/.zshrc, więc uzupełnianie kodu na plikach/katalogach roboczych działa tak, jak tego potrzebuję. Znalazłem różne ressources online na składni uzupełnienia zstyle i przykład kodu, ale niektóre jego części są dla mnie nadal czarną magią.Jak działają argumenty listy matchera w zakończeniu zstyle?

Jak dotąd, jest tu, gdzie jestem, po pewnym fiddling i przebadania:

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'

Oto co rozumiem z niego:

  • zstyle ':completion:*' oznacza będziemy zdefiniować wartość konfiguracyjna do ukończenia
  • matcher-list to konfigurowana przez nas aktualizacja, tutaj definiuje, w jaki sposób zsh dopasowuje pliki/katalog do zasugerowania
  • 'm:{a-zA-Z}={A-Za-z}' 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*' to argumenty (wartości), które należy przekazać do konfiguracji matcher-list.
  • Tutaj mam dwa argumenty oddzielone spacją. Oznacza to będzie zsh najpierw spróbować znaleźć pliki, które pasują do pierwszego argumentu, a jeśli okaże się nic spróbuje pliki, które pasują drugim Arg

I oto staje się rozmyty:

  • otrzymuję że 'm:{a-zA-Z}={A-Za-z}' sprawiają, że wielkość dopasowania jest niewrażliwa, ale nie rozumiem składni.
  • Również otrzymuję, że 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*' nadal jest niewrażliwe na wielkość liter, ale także szukają dopasowania w całym łańcuchu, a nie tylko w początku. Ale nie dostaję również składni.

Czy ktoś może potwierdzić moje wcześniejsze twierdzenia i poprawić je w razie potrzeby, a także szczegółowo opisać składnię voodoo argumentów?

Dzięki

EDIT: Aha, i przepraszam, jeśli pytanie jest bardziej dopasowane do superuser.com, miałem ciężko zastanawianie która strona była lepiej nadaje się do tego.

Odpowiedz