Како користити уређиваче, Regex и Hooks са Z-shell-ом

Како користити уређиваче, Regex и Hooks са Z-shell-ом

Увод

Z-shell (такође познат као zsh) је моћна командна интерпретатора за Јуникс-сличне оперативне системе. Поред уобичајених карактеристика шкољке, попут наредбеног реда, историје и аутоматског довршавања, Z-shell такође пружа низ напредних функција, укључујући уређиваче, регуларне изразе и хукове.

У овом чланку ћемо истражити како да користите ове функције ефикасно да бисте побољшали свој продуктивност и аутоматизовали задатке у Z-shell-у.

Уређивачи

Z-shell има два уграђена уређивача: zle и vi. zle је лак за коришћење уређивач кључних веза, док је vi моћнији уређивач текста.

Коришћење уређивача zle

Након што вам је КЕИМАП омогућен, можете користити следеће тастере за кретање и уређивање текста на командној линији:

* Стрелице: за кретање по линији наредбе
* Ctrl+A: за кретање на почетак линије наредбе
* Ctrl+E: за кретање до краја линије наредбе
* Backspace и Delete: за брисање текста
* Ctrl+Y: за поништење брисања
* Ctrl+W: за брисање речи лево од курсора
* Ctrl+U: за брисање речи десно од курсора

Коришћење уређивача vi

Да бисте ушли у режим уређивања vi, притисните Esc и затим v. Када сте у режиму уређивања vi, можете користити следеће команде за уређивање текста:

* h, j, k, l: за кретање по линији наредбе
* w, b: за кретање по речима
* x, d: за брисање текста
* y: за копирање текста
* p: за налепљивање текста
* u: за поништавање промена
* Ctrl+C: за излазак из режима уређивања vi

Регуларни изрази

Регуларни изрази су моћан алат за тражење и манипулисање низовима. Z-shell подржава регуларне изразе Перл компатибилне синтаксе.

Основи регуларних израза

* .: одговара било ком појединачном знаку
* \d: одговара било којој цифри
* \w: одговара било којем алфанумеричком знаку или подвлачењу
* \s: одговара било ком белим простором
.: одговара било којој комбинацији знакова
* [abc]: одговара било ком знаку у наведеном скупу
* [^abc]: одговара било ком знаку који није у наведеном скупу
* ^: одговара почетку низа
* $: одговара крају низа

Коришћење регуларних израза у Z-shell-у

Можете користити регуларне изразе у Z-shell-у на следеће начине:

* Поређење низова: Наредба [[ $variable =~ regex ]] проверава да ли вредност променљиве одговара наведеном регуларном изразу.
* Претраживање и замењивање низова: Наредба
sed се може користити за претраживање и замењивање низова помоћу регуларних израза.
* Филтрирање низова: Naredba
grep se može koristiti
za filtriranje redova koji odgovaraju navedenom regularnom izrazu.

Хукови

Хукови су комади кода који се извршавају када се десе одређени догађаји у Z-shell-у. Z-shell има низ уграђених хукова које можете користити да прилагодите понашање шкољке.

Уграђени хукови

Неки од најкориснијих уграђених хукова укључују:

* precmd: се извршава пре извршавања сваке наредбе
* preexec: се извршава непосредно пре извршавања сваке наредбе
* chpwd: се извршава када се промени текући радни директоријум
* logout: се извршава када се одјавите из Z-shell-а

Креативни хукови

Можете да дефинишете своје властите хукове помоћу наредбе zle -N. На пример, можете дефинисати прилагођени кључ за брзо прелажење на почетак линије наредбе:

<code>
zle -N goto-bol
zle -a goto-bol &quot;^A&quot;
</code>

Закључак

Уређивачи, регуларни изрази и хукови су моћне функције које можете користити за побољшање своје продуктивности и аутоматизовање задатака у Z-shell-у. Изучавањем и коришћењем ових функција, можете прилагодити Z-shell да одговара вашим специфичним потребама и побољшате своје целокупно искуство коришћења командне линије.

ФАК

1. Шта је КЕИМАП?
КЕИМАП је скуп пречица на тастерима које можете да користите за обављање задатака у Z-shell-у.

2. Које су предности коришћења уређивача vi?
Уређивач
vi је моћнији од уређивача zle и пружа шири скуп команди за уређивање текста.

3. Како могу да користим регуларни израз за претраживање наредбе у историји?
Можете користити следећу наредбу:
history | grep regex`

4. Како могу да дефинишем прилагођени хук за извршавање када се промени текући радни директоријум?

zle -N cwd-hook
zle -a cwd-hook chpwd

5. Који су неки додатни уграђени хукови који су корисни у Z-shell-у?
* preexec_notify: се извршава пре извршавања сваке наредбе и пружа додатне информације о извршеној наредби
* chprompt: се извршава када се измени командна линија
* zle-line-init: се извршава када се иницијализује линија наредбе

6. Како могу да сазнам више о хуковима у Z-shell-у?
Можете да прочитате следеће ресурсе:
* Званична документација Z-shell-а о хуковима
* Тим подскаст о хуковима у Z-shell-у

7. Који су неки додатни додаци које могу да користим са Z-shell-ом да побољшам своје искуство?
Неки од најпопуларнијих додатних додатака укључују:
* Oh-My-Zsh
* Zsh-syntax-highlighting
* Zsh-autosuggestions

8. Где могу да добијем подршку за Z-shell?
Можете добити подршку за Z-shell на следећим каналима: