Isa sa mga pinakakilalang feature ng ZSH ay ang customizability at extensibility ng mga feature gamit ang mga external na framework, plugin, tema, at higit pa.
Ang pinakapangunahing paraan ng pag-customize at pag-configure ng ZSH ay ang paggamit ng ZSH configuration file na karaniwang matatagpuan sa home directory sa ilalim ng pangalang '.zshrc'.
Samakatuwid, ang pag-aaral ng mga pangunahing tampok ng ZSH profile ay maaaring maging napakahalaga sa pag-aaral kung paano i-configure ang iyong ZSH terminal. Gumagamit ka man ng panlabas na balangkas tulad ng Oh My ZSH, Antigen, atbp., kailangan mong malaman kung paano i-edit at i-configure ang iyong ZSH config file.
Sa tutorial na ito, gagabayan ka namin sa ZSH profile. Makakatulong ito sa iyo sa configuration syntax, mga sinusuportahang feature, at magbibigay din sa iyo ng ilang tip at trick kung paano pahusayin ang iyong karanasan sa terminal.
Pag-install ng ZSH
Tulad ng bawat pakete at tool sa Unix ecosystem, kailangan nating tiyakin na na-install natin ito sa ating system.
Sa mga Linux system, maaari mong i-install ang ZSH gamit ang iyong default na manager ng package gaya ng APT para sa mga Debian system, DNF at Yum para sa Fedora, Pacman para sa Arch, at higit pa.
$ sudo apt-get install zshKung ikaw ay nasa macOS, ang ZSH ay ang default na shell (depende sa bersyon) at madaling magagamit. Gayunpaman, kung hindi mo ito na-install para sa ilang kadahilanan, maaari mong gamitin ang Homebrew upang i-install ito tulad ng sumusunod:
$ magtimpla i-install zsh
Kapag nakumpleto na, maaari naming i-configure ang ZSH upang maging default na interpreter ng shell sa paglunsad. Magagawa mo ito sa pamamagitan ng pagpapatakbo ng sumusunod na command:
$ chsh -s $ ( alin zsh )Dapat nitong baguhin ang default na shell sa ZSH.
Pag-unawa sa ZSH Profile
Tulad ng nabanggit namin, ang paraan upang i-configure ang ZSH ay gamit ang '.zshrc' na file. Suriin natin ang higit pang mga detalye kung ano ito at kung paano ito gumagana.
Ano ang .Zshrc?
Ang '.zshrc' ay maikli para sa Z-shell run control. Ito ay isang nakatagong file (na tinutukoy ng nangunguna) na matatagpuan sa home directory (~/.zshrc).
Binabasa at isinasagawa ng ZSH ang bawat command na tinukoy sa file na ito sa tuwing magsisimula ka ng bagong session ng shell. Kabilang dito ang pagbubukas ng bagong terminal window, bagong tab, o pagpapatakbo ng script sa loob ng ZSH.
Ang mga sumusunod ay ilang pangunahing gamit ng '.zshrc' na file:
- Pag-configure ng PATH, pagtukoy sa mga variable ng kapaligiran, at iba pang mga setting
- Paglikha ng mga shortcut para sa mga command at pagtukoy sa mga function para sa kumplikado o paulit-ulit na mga gawain
- Pagbabago sa hitsura ng shell prompt
- Pagtatakda ng mga pagpipilian sa shell at pag-configure ng pag-uugali ng pagkumpleto ng command
Ang syntax para sa '.zshrc' na file ay mahalagang ZSH scripting language. Ang ZSH ay halos kapareho sa Bash na may ilang mga pagpapahusay at pagbabago sa syntax. Maaari mong tingnan ang aming tutorial sa paglipat mula sa Bash patungo sa ZSH upang matuto nang higit pa.
Pag-customize sa ZSH Profile
Ang una at pinakakaraniwang gawain kapag nagtatrabaho sa iyong shell profile ay ang pag-customize ng shell prompt. Magagawa natin ito gamit ang mga escape sequence at mga espesyal na variable.
Tingnan ang sumusunod na halimbawang code:
PS1 = '%n@%m %~ %(!.#.$) 'Sa kasong ito, pinangangasiwaan ng variable ng PS1 ang pag-customize ng iyong prompt. Ang sumusunod ay nagsasaad kung ano ang kinakatawan ng bawat espesyal na variable.
- %n – Username
- %m – Hostname
- %~ – Kasalukuyang direktoryo
- %(!.#.$) – Iba't ibang prompt na character para sa root (#) at non-root ($) na user
Pagtatakda ng mga Variable
Upang magtakda ng variable sa ZSH, ginagamit namin ang variable na pangalan, isang pantay na tanda, at ang halaga ng variable. Ang syntax ay ang mga sumusunod:
VARIABLE_NAME = 'halaga'Maaari naming i-reference ang dating tinukoy na variable sa kabuuan ng script.
Pag-export ng mga Variable
Maaari rin nating i-export ang mga variable para maging available ang mga ito sa mga sub-process sa kasalukuyang session o sa tuwing naglo-load ang shell.
Ang isang halimbawa ay ang sumusunod:
i-export DAAN = '/usr/local/bin: $PATH 'Mga alyas
Ang isa pang napaka-kapaki-pakinabang na tampok ng ZSH ay mga alias. Ang mga alias ay karaniwang mga shortcut para sa mahahabang command na pinakamadalas mong gamitin.
Sa ZSH, maaari naming tukuyin ang isang alias tulad ng ipinapakita sa sumusunod na syntax:
alyas alyas = 'command_format'Halimbawa, ipagpalagay na nais naming lumikha ng isang mas maikling command para sa command na 'ls –lah'. Maaari tayong lumikha ng isang alias gaya ng sumusunod:
alyas ll = 'ls -lah'Mga pag-andar
Ang susunod na bagay na kailangan nating malaman ay ang mga pag-andar. Binibigyang-daan kami ng mga function na tukuyin ang magagamit muli na mga bloke ng code na maaari naming tawagan bilang isang entity.
Ang syntax upang tukuyin ang isang function sa ZSH ay ang mga sumusunod:
function function_name {# lohika
}
Halimbawa, ipagpalagay na gusto naming magkaroon ng function na kumukuha ng impormasyon ng panahon sa pamamagitan ng paggawa ng curl request. Sa halip na i-type ang buong utos, maaari naming tukuyin ang isang simpleng function na ginagawa iyon bilang mga sumusunod:
function panahon ( ) {kulot wttr.in
}
Ngayon, kapag kailangan nating kunin ang impormasyon ng lagay ng panahon, maaari lang nating tawagan ang function na iyon at ginagawa nito ang lahat ng gawain para sa atin.
Mga Pangunahing Binding
Nagbibigay-daan sa amin ang mga key binding na tukuyin ang isang hanay ng mga pangunahing sequence na nakamapa sa isang partikular na operasyon. Halimbawa, maaari kaming lumikha ng isang key shortcut na nagbibigay-daan sa amin upang maghanap sa kasaysayan ng command.
Sa ZSH, tinutukoy namin ang key binding gamit ang command na 'bindkey'. Kunin ang sumusunod na halimbawa:
bindkey '^R' history-incremental-search-backwardAng halimbawang ito ay nagbubuklod sa 'CTRL + R' key sequence sa command history search functionality.
Maaari mong i-reference ang aming tutorial sa ZSH key bindings para makatuklas ng higit pang customization.
Auto-Completion
Nag-aalok ang ZSH ng malakas na auto-completion. Maaari mo itong paganahin sa pamamagitan ng pagdaragdag ng mga sumusunod na entry sa configuration:
auto load -Sa compinitcompinit
Mga Tip at Trick
Ang mga sumusunod ay ilang kapaki-pakinabang na tip at trick na kailangan mong malaman kapag nagtatrabaho sa ZSH:
Kasaysayan ng Utos
I-navigate ang command history gamit ang mga keyboard shortcut.
- Ctrl-R - Maghanap pabalik
- Ctrl-S – Maghanap pasulong
- Pataas na Arrow – Nakaraang utos
- Pababang Arrow – Susunod na utos
Recursive Globing
Upang paganahin ang recursive globing, gamitin ang **. Halimbawa:
echo **/* .txtPagpapalit ng Utos
Gamitin ang $(command) upang ipasok ang output ng isang command sa isa pang command.
Pag-debug
Upang i-debug ang mga isyu sa ZSH startup, gamitin ang “zsh –xv” para i-debug ang “.zshrc” na file.
Maaari mo ring i-profile ang oras ng pagsisimula para sa iyong configuration ng ZSH gamit ang command na 'zprof'.
Konklusyon
Sa tutorial na ito, tinalakay namin ang lahat ng kailangan mong malaman kapag nakikipag-usap ka sa ZSH profile. Binigyan ka rin namin ng ilang tip at trick na makakatulong na mapabuti ang iyong karanasan sa ZSH.