Spis treści:
Jak korzystać z edytorów, wyrażeń regularnych i hooków z Z-shell
Wprowadzenie
Z-shell (Zsh) to potężna interaktywna powłoka dla systemów Unix i Linux, która zapewnia szereg ulepszonych funkcji w porównaniu do powłoki Bournea (sh). Oferuje zaawansowane możliwości edycji tekstu, obsługuje wyrażenia regularne i umożliwia użytkownikom dostosowywanie środowiska powłoki za pomocą hooków. Ten artykuł przeprowadzi Cię przez podstawowe i zaawansowane techniki korzystania z tych funkcji w Zsh.
Edytory
Wbudowany edytor wiersza poleceń
Zsh ma wbudowany edytor wiersza poleceń, który umożliwia edycję poleceń przed ich wykonaniem. Aby uzyskać dostęp do edytora, naciśnij Ctrl+A
. Możesz użyć następujących poleceń do edycji tekstu:
– ^A
: Przenieś kursor na początek wiersza
– ^E
: Przenieś kursor na koniec wiersza
– ^B
: Cofnij o jeden znak
– ^F
: Przejdź do przodu o jeden znak
– ^D
: Usuń znak pod kursorem
– ^K
: Usuń wszystkie znaki do końca wiersza
Wykorzystanie zewnętrznych edytorów
Możesz także użyć zewnętrznych edytorów do edycji poleceń. W tym celu ustaw zmienną środowiskową EDITOR
na ścieżkę do edytora, którego chcesz użyć. Na przykład:
sh
EDITOR=vim
Teraz możesz nacisnąć Ctrl+X
, aby edytować polecenie w edytorze vim
.
Wyrażenia regularne
Co to są wyrażenia regularne?
Wyrażenia regularne to potężne wzorce służące do wyszukiwania, dopasowywania i zastępowania tekstu. Pozwalają na dopasowywanie złożonych sekwencji znaków i są szeroko stosowane w różnych zadaniach, takich jak filtrowanie tekstu, weryfikacja danych i manipulacja ciągami.
Podstawowa składnia wyrażeń regularnych
Oto kilka podstawowych symboli używanych w wyrażeniach regularnych:
– .
(kropka): Dopasowuje dowolny pojedynczy znak
– *
: Dopasowuje zero lub więcej wystąpień poprzedniego wzorca
– +
: Dopasowuje jedno lub więcej wystąpień poprzedniego wzorca
– ?
: Dopasowuje zero lub jedno wystąpienie poprzedniego wzorca
– []
: Dopasowuje dowolny znak zawarty w nawiasach kwadratowych
– ^
: Dopasowuje początek wiersza
– $
: Dopasowuje koniec wiersza
Korzystanie z wyrażeń regularnych w Zsh
Możesz używać wyrażeń regularnych do dopasowywania i zastępowania tekstu w Zsh przy użyciu następującej składni:
sh
pattern[flags]
Gdzie:
– pattern
to wyrażenie regularne
– flags
to opcjonalne flagi modyfikujące zachowanie wyrażenia regularnego
Praktyczne przykłady
Oto kilka przykładów wykorzystania wyrażeń regularnych w Zsh:
– Aby dopasować wszystkie linie zawierające słowo „kot”, użyj:
sh
grep "kot" plik.txt
– Aby zastąpić wszystkie wystąpienia słowa „pies” słowem „kot”, użyj:
sh
sed 's/pies/kot/g' plik.txt
– Aby usunąć wszystkie puste wiersze z pliku, użyj:
sh
sed '/^$/d' plik.txt
Hooki
Co to są hooki?
Hooki to punkty rozszerzalności, które pozwalają użytkownikom dostosowywać zachowanie powłoki w określonych sytuacjach. Zsh obsługuje szereg hooków, które mogą być uruchamiane przed lub po różnych zdarzeniach, takich jak uruchamianie powłoki, wykonywanie poleceń czy interakcja z edycją wiersza poleceń.
Dostępne hooki
Zsh udostępnia wiele różnych hooków, w tym:
– preexec
: Wykonywany przed wykonaniem polecenia
– precmd
: Wykonywany przed interakcją z edycją wiersza poleceń
– postcmd
: Wykonywany po interakcji z edycją wiersza poleceń
Korzystanie z hooków
Możesz użyć hooków, aby wykonywać niestandardowe polecenia lub modyfikować zachowanie powłoki. Aby zdefiniować hook, użyj następującej składni:
sh
zle -N hookname command
Gdzie:
– hookname
to nazwa hooka
– command
to polecenie do wykonania
Praktyczne przykłady
Oto kilka przykładów wykorzystania hooków w Zsh:
– Aby wyświetlić komunikat przed wykonaniem każdego polecenia, użyj:
sh
zle -N preexec echo "Wykonuję polecenie: $1"
– Aby automatycznie uzupełniać ścieżki do plików, użyj:
sh
zle -N completions zcompile /usr/share/zsh/functions/Completion/Unix/
Wniosek
Z-shell oferuje potężne możliwości edycji tekstu, obsługi wyrażeń regularnych i dostosowywania powłoki za pomocą hooków. Wykorzystując te funkcje, możesz poprawić wydajność, zwiększyć produktywność i dostosować środowisko powłoki do swoich potrzeb. Dzięki praktyce i eksperymentowaniu możesz opanować te zaawansowane techniki i w pełni wykorzystać możliwości Zsh.
Często zadawane pytania
1. Jak uzyskać dostęp do wbudowanego edytora wiersza poleceń w Zsh?
Naciśnij Ctrl+A
.
2. Jak użyć zewnętrznego edytora do edycji poleceń w Zsh?
Ustaw zmienną środowiskową EDITOR
na ścieżkę do edytora, którego chcesz użyć.
3. Jakie są podstawowe symbole używane w wyrażeniach regularnych?
., *, +, ?, [], ^, $
4. Gdzie mogę znaleźć dokumentację dotyczącą wyrażeń regularnych w Zsh?
Wpisz man regex
w wierszu poleceń.
5. Jakie są różne typy hooków obsługiwanych przez Zsh?
preexec
, precmd
, postcmd
6. Jak zdefiniować hook w Zsh?
Użyj składni zle -N hookname command
.
7. Jak wyświetlić listę wszystkich hooków zdefiniowanych w Zsh?
Wpisz zle -l
w wierszu poleceń.
8. Gdzie mogę znaleźć więcej informacji na temat Zsh?
Odwiedź oficjalną stronę internetową Zsh.