Zsh (Magyar) - ArchWiki

Jump to content

# Zsh (Magyar)

From ArchWiki
Fordítás állapota: Ez az oldal az angol Zsh című oldal magyar nyelvre lefordított változata. Utolsó fordítás dátuma: 2026.07.02. Amennyiben a lefordítás időpontja óta az angol nyelvű oldalon történtek újabb módosítások, akkor Ön segíthet hozzászinkronizálni az angolhoz ezt a magyar nyelvű fordítást.

A Zsh egy nagy teljesítményű shell (parancssor), amely interaktív parancsértelmezőként és parancsfájlok értelmezőjeként is egyaránt működik. Bár kompatibilis a POSIX sh parancsorral (alapértelmezés szerint közvetlen nem kompatibilis vele, csak az `emulate sh` kiadásával kompatibilis), olyan előnyöket kínál, mint a továbbfejlesztett tabulátoros parancskiegészítés és a globbing. (Fordítói megjegyzés: A "globbing" a parancssorban azt jelenti, hogy Ön helyettesítő karakterekkel -wildcard karakterekkel- megtud adni fájlneveket vagy mintákat, amelyeket a shell automatikusan kibővít konkrét fájlokra. Például a *.txt minden .txt kiterjesztésű fájlt kijelöl egy könyvtárban.)

A Zsh GYIK további indokokat mutat be, amelyek mind a Zsh használata mellett szólnak más parancssorokkal szemben.

## Telepítés

A kezdés előtt a felhasználók ellenőrizhetik, hogy jelenleg melyik parancsértelmezőt használják a számítógépükön:

    $ echo $SHELL

Telepítse fel a számítógépre a zsh szoftvercsomagot. További parancskiegészítési definíciók megléte érdekében telepítse fel a számítógépre a zsh-completions szoftvercsomagot is.

### Kezdeti beállítás

A következő parancs parancssorban történő lefuttatása által Ön meggyőződhet arról, hogy a Zsh megfelelően fel lett telepítve a számítógépre:

    $ zsh

Ekkor meg kell jelennie a zsh-newuser-install programnak, amely végigvezeti Önt néhány alapvető beállításon. Ha ezt a végigvezetést ki szeretné hagyni, akkor nyomja meg a `q` billentyűgombot. Ha nem jelent meg, akkor manuális úton, kézzel is elindíthatja a következő parancs futtatása által:

    $ autoload -Uz zsh-newuser-install
    $ zsh-newuser-install -f

Megjegyzés Győződjön meg arról, hogy a parancssor mérete legalább 72×15 nagyságú, különben a zsh-newuser-install nem fog elindulni.

### Zsh beállítása alapértelmezett parancssorként

Módosítsa az Ön parancssorát a `/usr/bin/zsh` értékre. Részletekért tekintse meg a Command-line shell#Alapértelmezett parancssor módosítása című leírást.

Tipp Ha Ön lecseréli a bash parancssort, akkor érdemes lehet bizonyos kódrészeket áthelyeznie a `/.bashrc` fájlból a `/.zshrc` fájlba (pl. a promptot és az aliaszokat), valamint a `/.bash_profile` fájlból a `/.zprofile` fájlba (pl. az X Window System indítását végző kódot).

## Indításfájlok / leállításfájlok

Tipp Tekintse meg a Z-Shell felhasználói útmutatót az interaktív és bejelentkezési parancsértelmezőkkel kapcsolatban, továbbá, magyarázatért azzal kapcsolatban, hogy Ön mit helyezzen el az indítófájljaiban.
Megjegyzés

- Ha a `$ZDOTDIR` nincs beállítva, akkor helyette a `$HOME` lesz használva.
- Ha az `RCS` beállítás bármelyik fájlban nincs beállítva, akkor az adott fájl után a rendszer nem olvas be további beállításfájlokat.
- Ha a `GLOBAL_RCS` beállítás bármelyik fájlban nincs beállítva, akkor az adott fájl után a rendszer nem olvas be további globális beállításfájlokat (`/etc/zsh/*`).

Indításkor a Zsh alapértelmezés szerint a következő fájlokból olvassa be a parancsokat a megadott sorrendben, feltéve, hogy azok léteznek.

- `/etc/zsh/zshenv` — Az összes felhasználó környezeti változóinak a beállítására szolgál. Ez a fájl nem tartalmazhat olyan parancsokat, amelyek kimenetet állítanak elő, vagy feltételezik, hogy a parancsértelmező TTY-hez van csatlakoztatva. Ha ez a fájl létezik, akkor mindig beolvasásra kerül, és ez a viselkedés nem írható felül.
- `$ZDOTDIR/.zshenv` — A felhasználó környezeti változóinak beállítására szolgál. Nem tartalmazhat olyan parancsokat, amelyek kimenetet állítanak elő, vagy azt feltételezik, hogy a parancsértelmező TTY-hez van csatlakoztatva. Ha ez a fájl létezik,akkor mindig beolvasásra kerül.
- `/etc/zsh/zprofile` — Az összes felhasználó számára induláskor végrehajtandó parancsokhoz használatos. Login shell -ként történő indításkor kerül beolvasásra. Felhívjuk az Ön figyelmét, hogy Arch Linuxon alapértelmezés szerint egy sort tartalmaz, amely betölti a `/etc/profile` fájlt. Mielőtt Ön el szeretné távolítani ezt a sort, olvassa el az alábbi figyelmeztetést!
  - `/etc/profile` — Ezt a fájlt minden POSIX sh-kompatibilis parancsértelmezőnek be kell töltenie bejelentkezéskor: Beállítja a `$PATH` változót, valamint egyéb környezeti változókat és alkalmazásspecifikus (`/etc/profile.d/*.sh`) beállításokat a bejelentkezés során.
- `$ZDOTDIR/.zprofile` — A felhasználó induláskor végrehajtandó parancsaihoz használatos. Login shell -ként történő indításkor kerül beolvasásra. Jellemzően grafikus munkamenetek automatikus indítására és a munkamenetre kiterjedő környezeti változók beállítására használják.
- `/etc/zsh/zshrc` — Az összes felhasználó számára az interaktív parancsértelmező beállítására és parancsok végrehajtására szolgál. Interaktív shell -ként történő indításkor kerül beolvasásra.
- `$ZDOTDIR/.zshrc` — A felhasználó interaktív parancsértelmezőjének beállítására és parancsok végrehajtására szolgál. Interaktív shell -ként történő indításkor kerül beolvasásra.
- `/etc/zsh/zlogin` — Az összes felhasználó számára az indulási folyamat befejezésekor végrehajtandó parancsokhoz használatos. Login shell -ként történő indításkor kerül beolvasásra.
- `$ZDOTDIR/.zlogin` — A felhasználó számára az indulási folyamat befejezésekor végrehajtandó parancsokhoz használatos. Login shell -ként történő indításkor kerül beolvasásra. Jellemzően parancssori segédprogramok automatikus indítására használják. Nem szabad grafikus munkamenetek automatikus indítására használni, mivel ebben a szakaszban a munkamenet olyan beállítást tartalmazhat, amely kizárólag interaktív parancsértelmezőhöz készült.
- `$ZDOTDIR/.zlogout` — A parancsok végrehajtására szolgál, amikor egy login shell kilép.
- `/etc/zsh/zlogout` — Az összes felhasználó számára a parancsok végrehajtására szolgál, amikor egy logins shell kilép.

Tekintse meg a grafikus reprezentációt.

Megjegyzés A `$HOME/.profile` nem része a Zsh indulási fájljainak, és a Zsh nem tölti be, kivéve amikor a Zsh `sh` vagy `ksh` módban van meghívva, és logins shell -ként indul. Az sh és ksh kompatibilitási módokról további részletekért tekintse meg a zsh(1) § COMPATIBILITY man súgót.
Figyelmeztetés Ne távolítsa el az alapértelmezett egy sort a `/etc/zsh/zprofile` fájlból, mert ez megsérti a más szoftvercsomagok integritását, amelyek a `/etc/profile.d/` könyvtárban biztosítanak bizonyos szkripteket.

## Zsh beállítása

Bár a Zsh azonnal használható, mégis szinte biztos, hogy nincs úgy beállítva, ahogyan a legtöbb felhasználó használni szeretné. A Zsh-ban elérhető testreszabási lehetőségek hatalmas mennyisége miatt azonban a Zsh beállítása ijesztő és időigényes feladat lehet. Az automatikus beállítás érdekében tekintse meg a #Harmadik féltől származó bővítmények című bekezdést.

### Egyszerű .zshrc

Alább egy mintául szolgáló beállításfájl található. Megfelelő alapértelmezett beállításokat biztosít, emellett számos példát is ad arra, hogy a Zsh parancssor milyen módokon szabható testre. A beállítás használata érdekében mentse el a fájlt `.zshrc` nevű fájlként.

Tipp A `source ~/.zshrc` futtatásával alkalmazza a módosításokat kijelentkezés és újbóli bejelentkezés nélkül.

Íme egy egyszerű `.zshrc`:

    ~/.zshrc

    autoload -Uz compinit promptinit
    compinit
    promptinit

    # Ez a walters témát állítja be alapértelmezett parancssorként.
    prompt walters

A parancssortéma-rendszerrel kapcsolatos további részletekért tekintse meg a #Parancssortémák című bekezdést.

### $PATH beállítása

A Zsh a `PATH` változót a `path` tömbhöz köti. Ez lehetővé teszi, hogy a `PATH` változót egyszerűen a `path` tömb módosításával kezelje. A részletekért tekintse meg a Z-Shell felhasználói útmutatóját.

A `~/.local/bin/` könyvtár `PATH` változóhoz történő hozzáadása érdekében:

    ~/.zshenv

    typeset -U path PATH
    path=(~/.local/bin $path)
    export PATH

### Parancskiegészítés

A Zsh talán legmeggyőzőbb szolgáltatása a begépelés közbeni, fejlett, automatikus parancskiegészítési képessége. Ön a `.zshrc` fájlban engedélyezze legalább az begépelés közbeni automatikus parancskiegészítést. A begépelés közbeni automatikus parancskiegészítés engedélyezése érdekében adja hozzá a következőket a `~/.zshrc` fájlhoz:

    ~/.zshrc

    autoload -Uz compinit
    compinit

A fenti beállítás tartalmazza az ssh/scp/sftp számítógépnevek automatikus begépelés közbeni parancskiegészítését, azonban ahhoz, hogy ez a funkció működjön, a felhasználóknak nem szabad engedélyezniük az ssh számítógépnév elhashelését (vagyis az ssh kliensprogramok beállításaiban nem szabad engedélyezni a `HashKnownHosts` beállítást).

Adja hozzá a következő sorokat annak érdekében, hogy nyílbillentyűkkel vezérelni lehessen majd a begépelés közbeni automatikus parancskiegészítést:

    ~/.zshrc

    zstyle ':completion:*' menu select

A menü aktiválása érdekében nyomja meg kétszer a `Tab` billentyűgombot.

(Például amikor Ön egy sudo paranccsal kezdődő parancs begépelését egészíti ki, akkor a begépelést kiegészítő szkriptek a lehetséges parancsnak a kiegészítéseit szintén sudo jogosultsággal próbálják meghatározni). A megemelt jogosultsági szintet igénylő parancsok begépelés közbeni automatikus parancskiegészítésének engedélyezése érdekében, vegye fel a következőt:

    ~/.zshrc

    zstyle ':completion::complete:*' gain-privileges 1

Figyelmeztetés Ez lehetővé teszi, hogy a Zsh begépelés közbeni automatikus parancskiegészítési szkriptek sudo jogosultsággal futtassanak parancsokat. Ezt a funkciót Önnek nem szabad engedélyeznie, amikor nem megbízható automatikus parancskiegészítési szkripteket használ.
Megjegyzés Ez a speciális, kontextusérzékeny automatikus parancskiegészítés csak néhány parancs esetében érhető el.

#### Egyedi parancskiegészítés

Ön saját egyedi parancskiegészítéseket is létrehozhat. Ha ezt szeretné tenni, akkor nézze meg a zshcompsys(1) man súgót.

Vegye figyelembe, hogy a hivatalos dokumentáció nehezen olvasható. Ön fontolóra veheti az egyszerűbb zsh-completion-howto oktatóanyag kipróbálását a könnyebb elkezdés érdekében.

### Billentyű-hozzárendelések

A Zsh nem használja a readline programozói függvénykönyvtárat. Ehelyett, a saját és erősebb beépített parancssorszerkesztőjét (úgynevezett Zsh Line Editor, ZLE) használja. Nem olvassa a `/etc/inputrc` vagy `~/.inputrc` fájlokat. Kérjük Önt, hogy olvassa el az A closer look at the zsh line editor and creating custom widgets című leírást annak érdekében, hogy elkezdje megérteni a ZLE beállítását.

A ZLE rendelkezik egy Emacs móddal és egy vi móddal. Ha a `VISUAL` vagy az `EDITOR` környezeti változó tartalmazza a `vi` karakterláncot, akkor a vi mód lesz használva. Máskülönben, alapértelmezés szerint Emacs mód lesz használatban. A módot kifejezetten a `bindkey -e` vagy `bindkey -v` paranccsal lehet beállítani Emacs módra vagy vi módra. A vi módban az Esc billentyű megnyomásának késleltetése alapértelmezetten 0.4s, és ez beállítható rövidebbre (0.05s) az `export KEYTIMEOUT=5` segítségével.

A billentyűkiosztások úgy vannak hozzárendelve, hogy egy billentyűleütésnek megfelelő escape szekvencia egy ZLE widgethez legyen leképezve. Az elérhető widgetek, a műveleteik leírásával és alapértelmezett billentyűkiosztásaikkal együtt, a zshzle(1) § STANDARD WIDGETS és a zshcontrib(1) § ZLE FUNCTIONS man súgókban vannak felsorolva.

Az ajánlott módja a billentyű-hozzárendelés beállításának a Zsh parancssorban a terminfo(5) karakterlánc-képességeinek használata. Például[1][2]:

    ~/.zshrc

    # create a zkbd compatible hash;
    # to add other keys to this hash, see: man 5 terminfo
    typeset -g -A key

    key[Home]="${terminfo[khome]}"
    key[End]="${terminfo[kend]}"
    key[Insert]="${terminfo[kich1]}"
    key[Backspace]="${terminfo[kbs]}"
    key[Delete]="${terminfo[kdch1]}"
    key[Up]="${terminfo[kcuu1]}"
    key[Down]="${terminfo[kcud1]}"
    key[Left]="${terminfo[kcub1]}"
    key[Right]="${terminfo[kcuf1]}"
    key[PageUp]="${terminfo[kpp]}"
    key[PageDown]="${terminfo[knp]}"
    key[Shift-Tab]="${terminfo[kcbt]}"

    # Billentyűgombok beállítása
    [[ -n "${key[Home]}"      ]] && bindkey -- "${key[Home]}"       beginning-of-line
    [[ -n "${key[End]}"       ]] && bindkey -- "${key[End]}"        end-of-line
    [[ -n "${key[Insert]}"    ]] && bindkey -- "${key[Insert]}"     overwrite-mode
    [[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}"  backward-delete-char
    [[ -n "${key[Delete]}"    ]] && bindkey -- "${key[Delete]}"     delete-char
    [[ -n "${key[Up]}"        ]] && bindkey -- "${key[Up]}"         up-line-or-history
    [[ -n "${key[Down]}"      ]] && bindkey -- "${key[Down]}"       down-line-or-history
    [[ -n "${key[Left]}"      ]] && bindkey -- "${key[Left]}"       backward-char
    [[ -n "${key[Right]}"     ]] && bindkey -- "${key[Right]}"      forward-char
    [[ -n "${key[PageUp]}"    ]] && bindkey -- "${key[PageUp]}"     beginning-of-buffer-or-history
    [[ -n "${key[PageDown]}"  ]] && bindkey -- "${key[PageDown]}"   end-of-buffer-or-history
    [[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}"  reverse-menu-complete

    # Végül, győződjön meg arról, hogy amikor a zle aktív, olyankor a parancssor alkalmazás módban van.
    # Kizárólag akkor érvényesek a $terminfo értékei.
    if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
        autoload -Uz add-zle-hook-widget
        function zle_application_mode_start { echoti smkx }
        function zle_application_mode_stop { echoti rmkx }
        add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
        add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
    fi

#### Shift, Alt, Ctrl és Meta módosítók

Az xterm-kompatibilis parancssorok használhatják a(z) user_caps(5) kiterjesztett billentyűdefinícióit. Ezek a `Shift`, `Alt`, `Ctrl` és `Meta` kombinációi a `Up`, `Down`, `Left`, `Right`, `PageUp`, `PageDown`, `Home`, `End` vagy `Del` billentyűkkel. A módosítóbillentyűk és billentyűkombinációk ajánlott neveinek megtekintése érdekében tekintse meg a zkbd source forráskódját.

Például a `Ctrl+Left` a kurzort az előző szó elejére mozgatja, míg a `Ctrl+Right` a következő szó elejére mozgatja a kurzort:

    ~/.zshrc

    key[Control-Left]="${terminfo[kLFT5]}"
    key[Control-Right]="${terminfo[kRIT5]}"

    [[ -n "${key[Control-Left]}"  ]] && bindkey -- "${key[Control-Left]}"  backward-word
    [[ -n "${key[Control-Right]}" ]] && bindkey -- "${key[Control-Right]}" forward-word

### Parancskiadások története

Annak érdekében, hogy a parancskiadások történetlistája figyelmen kívül hagyja a szóközzel kezdődő parancsokat, adja ki a `setopt HIST_IGNORE` parancsot, akár a parancssorban, akár a `.zshrc` fájlban. Habár, amíg egy másik parancs nem veszi át az utolsó parancs helyét, addig a `setopt HIST_IGNORE` beállítás mellett is az utolsó parancs megismételhető (például a `Fel` nyílbillentyű lenyomásával). Az `unsetopt OPT` használható egy `setopt OPT` parancs visszavonására.

Alapértelmezés szerint a parancskiadás történetének mérete a `HISTSIZE` értékkel 30 lesz (minden parancssorhoz külön, a lista bejegyzéseinek törlésének lehetősége nélkül) és nem kerül mentésre munkamenetek között. A `HISTFILE` beállítás egyik következménye, hogy a történetlista mentésre kerül munkamenetek között.

#### Keresés a parancskiadások előzményében

Önnek be kell állítania a `key` tömböt, és meg kell győződnie arról, hogy a ZLE alkalmazás módba lép a következő utasítások használatához. Tekintse meg a #Billentyű-hozzárendelések című bekezdést.

Annak érdekében, hogy engedélyezve legyen a parancskiadások előzményeiben való keresés, adja hozzá ezeket a sorokat a `.zshrc` fájlhoz:

    ~/.zshrc

    autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
    zle -N up-line-or-beginning-search
    zle -N down-line-or-beginning-search

    [[ -n "${key[Up]}"   ]] && bindkey -- "${key[Up]}"   up-line-or-beginning-search
    [[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search

Ennek elvégzésével csak a jelenlegi sor aktuális kurzorig terjedő részével egyező korábbi parancsok jelennek meg, amikor a `Fel` vagy `Le` billentyűket lenyomja.

### Parancssorok

A Zsh lehetőséget kínál parancssortémák használatára. Továbbá, a témákkal elégedetlen (vagy a hasznosságukat bővíteni kívánó) felhasználók számára is lehetőséget kínál egyéni parancssor elkészítésére.

#### Parancssortémák

A Zsh parancssorban a parancssortémák gyors és egyszerű módot biztosítanak a színes parancssor beállítására. A parancssortémákkal kapcsolatos információkért, valamint a saját téma készítésének a módjáért tekintese meg a zshcontrib(1) § PROMPT THEMES man súgót.

Egy téma használatakor győződjön meg arról, hogy a parancssortéma-rendszer automatikus úton történő betöltése be van állítva a `.zshrc` fájlban. Ezt a következő sorok hozzáadásával teheti meg:

    ~/.zshrc

    autoload -Uz promptinit
    promptinit

Az elérhető parancssortémák kilistázása értekében futtassa a következő parancsot:

    $ prompt -l

Például a `walters` téma használata érdekében írja be a parancssorba a következőt:

    $ prompt walters

Az összes elérhető téma előnézetének megjelenítése érdekében futtassa a következő parancsot:

    $ prompt -p

##### Parancssortémák kézi úton történő feltelepítése

A Zsh parancssor témáit manuális úton, tehát kézzel, mindenféle külső beállításkezelő segédprogram nélkül is fel lehet telepíteni a számítógépre. Helyi számítógépre történő feltelepítés érdekében először hozzon létre egy könyvtárat, és adja hozzá a `fpath` tömbhöz. Például:

    $ mkdir ~/.zprompts
    $ fpath=("$HOME/.zprompts" "$fpath[@]")

Most hozzon létre egy szimbolikus linket a témafájlra ebben a könyvtárban:

    $ ln -s mytheme.zsh ~/.zprompts/prompt_mytheme_setup

Ha ehelyett a témát globálisan szeretné telepíteni, akkor tegye a következőt:

    # ln -s mytheme.zsh /usr/share/zsh/functions/Prompts/prompt_mytheme_setup

Most már Önnek tudnia kell aktiválnia a témát a következő parancs futtatásával:

    $ prompt mytheme

Ha minden megfelelően működik, akkor Ön ennek megfelelően szerkesztheti a `.zshrc` fájlt.

##### Parancssortémák hozzáadása külön fájl nélkül mindegyikhez

A parancssortéma saját fájlon keresztüli hozzáadása mellett lehetőség van arra, hogy egy másik fájlból (például az Ön `.zshrc` fájljából) legyenek a témák hozzáadva a parancssorhoz. Például:

    ~/.zshrc

    # Load promptinit
    autoload -Uz promptinit && promptinit

    # Define the theme
    prompt_mytheme_setup() {
        PS1="%~%# "
    }

    # Add the theme to promptsys
    prompt_themes+=( mytheme )

    # Load the theme
    prompt mytheme

#### Személyre szabott prompt

Az elsődleges bal oldali prompton `PS1` (`PROMPT`, `prompt`) túl, amely minden shell parancssornál közös, a Zsh parancssor támogatja a jobb oldali promptot `RPS1` (`RPROMPT`) is. Ezt a két változót Önnek érdemes egyéni értékre beállítania.

Egyéb speciális célú promptok, mint például a `PS2` (`PROMPT2`), `PS3` (`PROMPT3`), `PS4` (`PROMPT4`), `RPS1` (`RPROMPT`), `RPS2` (`RPROMPT2`) és a `SPROMPT`, a zshparam(1) § PARAMETERS USED BY THE SHELL című man súgórészben vannak ismertetve.

Az escape-ek segítségével minden prompt testre szabható. A létező prompt escape-ek listája a zshmisc(1) § EXPANSION OF PROMPT SEQUENCES című man súgórészben található.

##### Színek

A Zsh parancssor másképp állítja be a színeket, mint a Bash parancssor. Önnek nincs szüksége arra, hogy bőséges ANSI escape szekvenciákat vagy a terminfo(5) parancssorképességeit használja. A Zsh kényelmes prompt escape-eket biztosít az előtérszín, a háttérszín és más vizuális hatások beállításához. Tekintse meg a zshmisc(1) § Visual effects című man súgóleírást a Zsh prompt escape-ek listájáért és az escape-ek leírásaiért.

A színeket meg lehet adni egy decimális egész szám formájában, a nyolc legszélesebb körben támogatott szín egyikének nevével, vagy a # (kettős kereszt) karakterrel kezdődő, hexadecimális formátumú RGB színhármas formájában. További részletekért tekintse meg a fg=colour leírását a zshzle(1) § CHARACTER HIGHLIGHTING man súgórészben.

A legtöbb parancssor a következő színeket támogatja név szerint:

Név | Szám
--- | ---
`black` | `0`
`red` | `1`
`green` | `2`
`yellow` | `3`
`blue` | `4`
`magenta` | `5`
`cyan` | `6`
`white` | `7`

Az xterm 256 színt támogató parancssorokhoz tartozó 0 és 255 közötti színszámok megtalálhatók az xterm-256color táblázatban.

Megfelelően beállított TERM környezeti változó esetén a parancssor által támogatott maximális színszám a terminfo(5) adatbázisból kérdezhető le az `echoti colors` parancs segítségével. A 24 bites színek esetében ellenőrizze a COLORTERM környezeti változót is a `print $COLORTERM` parancs segítségével. Ha ez `24bit` vagy `truecolor` értéket ad vissza, akkor a parancssor 16777216 (224) színt támogat, még akkor is, amikor a terminfo kisebb számot jelenít meg.

Megjegyzés

- A 0–15 közötti színek eltérhetnek a különböző parancssorok és az általuk használt színsémák között.
- Sok parancssor a félkövér megjelenítést világosabb szín formájában jeleníti meg.

Tipp

- A prompt escape-ek a `print -P "prompt escapes"` paranccsal tesztelhetők. Például:

      $ print -P '%B%F{red}co%F{green}lo%F{blue}rs%f%b'

- Amennyiben Ön 24 bites színeket használ, akkor érdemes lehet betölteni a `zsh/nearcolor` modult olyan parancssorokban, amelyek nem támogatják ezeket. Például:

      [[ "$COLORTERM" == (24bit|truecolor) || "${terminfo[colors]}" -eq '16777216' ]] || zmodload zsh/nearcolor

  Tekintse meg a zshmodules(1) § THE ZSH/NEARCOLOR MODULE című man súgórészt a `zsh/nearcolor` modul részleteiért.

##### Példa

Példa egy nagyon egyszerű, nem kiszínezett promptra:

    PROMPT='%n@%m %~ %# '

Ahogyan meg fog jelenni:

username@host ~ %

Ez egy példa egy kétoldalú, színes prompt-ra:

    PROMPT='%F{green}%n%f@%F{magenta}%m%f %F{blue}%B%~%b%f %# '
    RPROMPT='[%F{yellow}%?%f]'

A következőképpen fog megjelenni:

username@host ~ % [0]

A 16-255 tartományba tartozó színek és a 24 bites valódi szín használatához Ön használhatja a kívánt színhez rendelt 0 és 255 közötti számokat, illetve annak hexadecimális színkódját:

    PROMPT='%F{2}%n%f@%F{5}%m%f %F{4}%B%~%b%f %# '
    RPROMPT='[%F{3}%?%f]'

    PROMPT='%F{#c0c0c0}%n%f@%F{#008000}%m%f %F{#800080}%B%~%b%f %# '
    RPROMPT='[%F{#0000ff}%?%f]'

### Mintául szolgáló .zshrc fájlok

- Annak érdekében, hogy Ön pontosan ugyanazt a beállítást kapja, mint a havi ISO kiadások (amelyek alapértelmezetten Zsh parancssort használnak), telepítse fel a számítógépre a grml-zsh-config szoftvercsomagot. Ez tartalmazza a grml számos finomhangolását és fejlett optimalizációját.
- https://github.com/MrElendig/dotfiles-alice/blob/master/.zshrc – Alapbeállítás, dinamikus prompttal és ablakcím/hardinfo funkcióval.

További információkért tekintse meg a dotfiles#User repositories című leírást.

## Tippek és trükkök

### X automatikus elindítása bejelentkezéskor

Tekintse meg az xinit#X automatikus indítása bejelentkezéskor című leírást.

### Parancssor beállításainak visszaállítása egy program rendellenes kilépése után

Számos program módosítja a parancssor állapotát, és gyakran nem állítja vissza a parancssor beállításait a rendellenes kilépéskor. (Például összeomlás vagy SIGINT jel fogadása esetén szokott ez megtörténni).

Ez a probléma általában a reset(1) végrehajtásával orvosolható:

    $ reset

A következő szakaszok olyan módszereket ismertetnek, amelyekkel elkerülhető a parancssor manuális, tehát, kézi úton történő visszaállításának a szükségessége.

#### A ttyctl parancs

A ttyctl parancs használható a parancssor "befagyasztására/felengedésére". Az interaktív parancsértelmező indításkori befagyasztása érdekében használja a következőt:

    ~/.zshrc

    ttyctl -f

#### Parancssor visszaállítása escape szekvenciákkal

Az alternatív vonalrajzoló karakterkészlet összezavarhatja a parancssort oly módon, amelyet a ttyctl nem tud megakadályozni.

Egyszerű megoldás, hogy a parancssort alaphelyzetbe állító escape-szekvenciákat a `precmd` hook függvényből írja ki, így azok minden alkalommal lefutnak, mielőtt a parancssor megjelenik. Például az escape-szekvencia `\e[0m\e(B\e)0\017\e[?5l\e7\e[0;0r\e8` használatával:

    ~/.zshrc

    autoload -Uz add-zsh-hook

    function reset_broken_terminal () {
        printf '%b' '\e[0m\e(B\e)0\017\e[?5l\e7\e[0;0r\e8'
    }

    add-zsh-hook -Uz precmd reset_broken_terminal

A működés tesztelése érdekében futtassa a következő parancsot:

    $ print '\e(0\e)B'

### Legutóbb meglátogatott könyvtárak megjegyzése

#### Dirstack

A Zsh parancssor beállítható úgy, hogy megjegyezze a DIRSTACKSIZE számú utoljára meglátogatott könyvtárakat. Ezeket a könyvtárakat ezután nagyon gyorsan el lehet érni a cd parancs segítségével. Önnek a saját beállításfájljához csak néhány sort kell hozzáadnia:

    ~/.zshrc

    autoload -Uz add-zsh-hook

    DIRSTACKFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/dirs"
    if [[ -f "$DIRSTACKFILE" ]] && (( ${#dirstack} == 0 )); then
        dirstack=("${(@f)"$(< "$DIRSTACKFILE")"}")
        [[ -d "${dirstack[1]}" ]] && cd -- "${dirstack[1]}"
    fi
    chpwd_dirstack() {
        print -l -- "$PWD" "${(u)dirstack[@]}" > "$DIRSTACKFILE"
    }
    add-zsh-hook -Uz chpwd chpwd_dirstack

    DIRSTACKSIZE='20'

    setopt AUTO_PUSHD PUSHD_SILENT PUSHD_TO_HOME

    ## Remove duplicate entries
    setopt PUSHD_IGNORE_DUPS

    ## This reverts the +/- operators.
    setopt PUSHD_MINUS

Ezután, használja a következő parancsot:

    $ dirs -v

Így a fenti parancs hatására kiíródik a dirstack. Használja a `cd -<NUM>` parancsot egy korábban meglátogatott könyvtárba való visszalépéshez. Használja az automatikus kiegészítést a kötőjel után. Ez nagyon hasznosnak bizonyul, amikor Ön az automatikus kiegészítési menüt használja.

Megjegyzés

- Ez a funkció nem fog működni, amikor egynél több zsh munkamenet van megnyitva, és Ön megpróbál `cd` parancsot használni, mivel mindkét munkamenet ugyanabba a fájlba ír, ami ütközést okoz.
- Előfordulhat, hogy Önnek létre kell hoznia a `$HOME/.cache/zsh` könyvtárat azért, hogy elkerülje a `no such file or directory` hibát.

#### cdr

A cdr lehetővé teszi azt, hogy egy automatikusan karbantartott listából Ön a munkakönyvtárat egy korábbi munkakönyvtárra változtassa. Minden bejegyzést olyan fájlokban tárol, amelyek munkamenetek között, valamint (alapértelmezés szerint) az aktuális munkamenetben a parancssorok között is megőrzésre kerülnek.

Tekintse meg a zshcontrib(1) § REMEMBERING RECENT DIRECTORIES man súgórészt a beállítási utasításokért.

#### zoxide

A zoxide egy okosabb cd parancs, amely lehetővé teszi, hogy Ön néhány billentyűleütéssel bárhová képes legyen elnavigálni. Emlékszik az Ön által gyakran használt könyvtárakra, és egy pontozási mechanizmust használ annak kitalálása érdekében, hogy Ön hová szeretne eljutni.

További részletekért tekintse meg ezt a leírást vagy a zoxide(1) man súgót.

### A help parancs

A Bash rendszerrel ellentétben a Zsh nem engedélyezi a beépített `help` parancsot. Helyette létezik a `run-help` parancs. Alapértelmezés szerint a `run-help` a `man` parancs úgynevezett "alias" parancsa: Végrehajtható manuálian úgy, hogy egy parancs elé Ön beírja, vagy az éppen begépelt parancshoz a `Alt+h` vagy `Esc` `h` billentyűparancsokkal meghívja.

Mivel a run-help alapértelmezés szerint csupán a man úgynevezett "alias" parancsa, ezért csak külső parancsokkal működik. A működésének javítása érdekében, azért, hogy a parancssor beépített parancsaival és egyéb parancssori funkciókkal is működjön, Önnek a `run-help` függvényt kell használnia. Tekintse meg a zshcontrib(1) man súgót a további információkért a `run-help` függvénnyel kapcsolatban és a `run-help` segédfüggvényeivel kapcsolatban.

Először, töltse be a `run-help` függvényt, majd távolítsa el a meglévő `run-help` alias parancsot. A kényelem érdekében a `help` "alias" parancsként a `run-help` parancshoz rendelhető hozzá. Például adja hozzá a következőket a `zshrc` fájlhoz:

    autoload -Uz run-help
    (( ${+aliases[run-help]} )) && unalias run-help
    alias help=run-help

The factual accuracy of this article or section is disputed.

Reason: Valóban azt szemlélteti-e a `run-help git commit` példa, amit hivatott szemléltetni? (Discuss in Talk:Zsh (Magyar)#A help parancs szakaszának a pontossága vitatott.)

Az assistant-funkciókat külön kell engedélyezni:

    autoload -Uz run-help-git run-help-ip run-help-openssl run-help-p4 run-help-sudo run-help-svk run-help-svn

Például, a `run-help git commit` parancs mostantól a git-commit(1) man súgót nyitja meg a git(1) helyett.

### Állandó újrahashelés

Általában a zshcompsys(1) § Use of compinit man dokumentációban szereplő `compinit` nem találja meg automatikusan a `$PATH` változóban található új végrehajtható fájlokat. Például egy új szoftvercsomag feltelepítése után a `/usr/bin/` könyvtárban található fájlok nem kerülnek bele azonnal az automatikus kiegészítésbe. Ezért, annak érdekében, hogy ezek az új végrehajtható fájlok bekerüljenek az automatikus kiegészítésbe, Önnek a következő parancsot kell lefuttatnia:

    $ rehash

Ez az újrahashelés (rehash) beállítható úgy, hogy automatikusan lefusson.[3] Egyszerűen vegye fel a következőt az Ön `zshrc` fájljába:

    ~/.zshrc

    zstyle ':completion:*' rehash true

#### Igény szerinti újrahashelés

A fentiekhez hasonlóan (de a pacman automatikus műveletindítói segítségével) azt is meg lehet csinálni, hogy Ön automatikusan `rehash` kérést indítson, amely nem jár a folyamatos újrahashelés fent említett teljesítménybeli hátrányával. Ennek engedélyezése érdekében Ön hozza létre a `/etc/pacman.d/hooks` könyvtárat, valamint a `/var/cache/zsh` könyvtárat, majd hozzon létre egy automatikus műveletindító fájlt (angolul úgynevezett "hook" fájlt):

    /etc/pacman.d/hooks/zsh-rehash.hook

    [Trigger]
    Operation = Install
    Operation = Upgrade
    Operation = Remove
    Type = Path
    Target = usr/bin/*

    [Action]
    Description=Rehash executables
    Depends = zsh
    When = PostTransaction
    Exec = /usr/bin/install -Dm644 /dev/null /var/cache/zsh/pacman

Ez biztosítja, hogy a `/var/cache/zsh/pacman` fájl módosítási dátuma összhangban maradjon azzal az időponttal, amikor egy szoftvercsomag utoljára telepítve, frissítve vagy eltávolítva lett. Ezután a `zsh` parancssort rá kell venni arra, hogy újrahashelje a saját parancsgyorsítótárát, amikor az elavulttá válik. Ennek érdekében adja hozzá az Ön `~/.zshrc` fájljához a következőt:

    ~/.zshrc

    zshcache_time="$(date +%s%N)"

    autoload -Uz add-zsh-hook

    rehash_precmd() {
        if [[ -a /var/cache/zsh/pacman ]]; then
            local paccache_time="$(date -r /var/cache/zsh/pacman +%s%N)"
            if (( zshcache_time < paccache_time )); then
                rehash
                zshcache_time="$paccache_time"
            fi
        fi
    }

    add-zsh-hook -Uz precmd rehash_precmd

Ha a `precmd` automatikus műveletindító (úgynevezett "hook") a `/var/cache/zsh/pacman` frissítése előtt aktiválódik, akkor az automatikus kiegészítés nem feltétlenül fog működni addig, amíg egy új parancssor nem indul el. Egy üres parancs lefuttatása (például a `Enter` billentyű megnyomása) elegendő kell, hogy legyen.

#### Alternatív, igény szerinti újrahashelés a SIGUSR1 használatával

A fentiekhez hasonlóan, az automatikus műveletindító fájl ("hook" fájl) a következőképpen néz ki:

    /etc/pacman.d/hooks/zsh-rehash.hook

    [Trigger]
    Operation = Install
    Operation = Upgrade
    Operation = Remove
    Type = Path
    Target = usr/bin/*

    [Action]
    Description=Rehash executables
    Depends = zsh
    Depends = procps-ng
    When = PostTransaction
    Exec = /usr/bin/pkill zsh --signal=USR1

Figyelmeztetés Ez SIGUSR1 jelet küld az összes futó `zsh` parancssorpéldánynak. Vegye figyelembe, hogy a SIGUSR1 alapértelmezett viselkedése a megszakítás, ezért amikor Ön ezt először beállítja, akkor az összes felhasználó összes futó `zsh` példánya (beleértve a bejelentkezési parancssorokat is) le fog állni, amennyiben a felhasználók nem töltötték be az alábbi trap beállítást.

    ~/.zshrc

    TRAPUSR1() { rehash }

A fenti function trap helyettesíthető egy list trap formával: `trap 'rehash' USR1`. A különböző trap típusok közötti eltérésekkel kapcsolatban tekintse meg a zshmisc(1) § Trap Functions súgóleírást.

Ez a módszer azonnal újraindexeli (`rehash`) az összes `zsh` példányt, így nincs szükség az Enter billentyűgomb lenyomására a `precmd` aktiválása érdekében.

### Egy ncurses alkalmazás billentyűhöz történő hozzárendelése

Rendeljen egy ncurses alkalmazást egy billentyűleütéshez, mindezt úgy, hogy az nem fogja elfogadni a felhasználói bevitelt. A működéshez használja a `BUFFER` változót. Az alábbi példa lehetővé teszi a felhasználók számára, hogy az ncmpcpp alkalmazást megnyithassák az `Alt+` billentyűkombinációval:

    ~/.zshrc

    ncmpcppShow() {
        BUFFER="ncmpcpp"
        zle accept-line
    }
    zle -N ncmpcppShow
    bindkey '^[\' ncmpcppShow

Egy alternatív módszer, amely megőrzi mindazt, amit Ön az alkalmazás meghívása előtt a parancssorba beírt:

    ~/.zshrc

    ncmpcppShow() {
        ncmpcpp <$TTY
        zle redisplay
    }
    zle -N ncmpcppShow
    bindkey '^[\' ncmpcppShow

### Billentyűparancsok a fájlkezelőhöz

Általában elmondható, hogy a grafikus felhasználói felülettel rendelkező fájlkezelőkben használthoz billentyűparancsok hasznosak szoktak lenni. Ugyanígy, a parancssorban is hasznosak lehetnek a ilyen "fájlkezelős" jellegű billentyűparancsok. Az első ilyen parancs visszalép egyet a könyvtárelőzményekben (`Alt+Left`), a második parancs lehetővé teszi, hogy a felhasználó a szülőkönyvtárba lépjen (`Alt+Up`). Mindkettő parancs megjeleníti a könyvtár tartalmát is.

    ~/.zshrc

    cdUndoKey() {
        popd
        zle reset-prompt
        print
        ls
        zle reset-prompt
    }

    cdParentKey() {
        pushd ..
        zle reset-prompt
        print
        ls
        zle reset-prompt
    }

    zle -N cdParentKey
    zle -N cdUndoKey
    bindkey '^[[1;3A' cdParentKey
    bindkey '^[[1;3D' cdUndoKey

### Az xterm címsora

Ha az Ön parancssora támogatja, akkor a parancssor címsorát beállíthatja a Zsh parancssorból. Ez lehetővé teszi a cím dinamikus módosítását annak érdekében, hogy Ön ezáltal a parancssor állapotával kapcsolatos releváns információkat jelenítsen meg. Például megjeleníthető ezáltal a Ön saját felhasználóneve és az Ön aktuális könyvtára, vagy az éppen végrehajtás alatt álló parancs is megjeleníthető.

Az xterm címe az xterm vezérlősorozat operációs rendszer parancsával, a `\e]2;``\a` vagy a `\e]2;``\e\` használatával állítható be. Például:

    $ print -n '\e]2;Az én xterm címsorom\a'

A fenti parancs a következő parancssorcímet állítja be:

    Az én xterm címsorom

A dinamikus cím beállításának egyszerű módja a cím beállítása a `precmd` és `preexec` automatikus műveletindító függvényekben (angolul hook függvényekben). Az elérhető automatikus műveletindító függvények listáját és leírásukat Ön megtekintheti a zshmisc(1) § Hook Functions man súgóban.

A `print -P` használatával emellett a Zsh prompt escape szekvenciáinak előnyeit is kihasználhatja.

Tipp

- A cím kiírása több parancsra is felbontható, amennyiben azok egymást közvetlenül követik.
- A GNU Screen az xterm címét a hardstatus mezőnek küldi (`%h`). Ha Ön a Screen karakterlánc escape szekvenciáit szeretné használni (például színekhez), akkor a hardstatus mezőt Önnek a `\e_``\e\\` escape szekvenciával kell beállítania. Ellenkező esetben amikor karakterlánc escape szekvenciákat használ a `\e]2;``\a` szekvenciában, akkor a parancssor hibás címet fog megjeleníteni, mivel nem képes értelmezni a Screen karakterlánc escape szekvenciáit.

Megjegyzés

- Ne használja a `-P` kapcsolót a `print` parancsnál a változók kiírásakor, annak érdekében, hogy elkerülje azok prompt escape szekvenciákként történő értelmezését.
- Használja a `q` paraméterkifejtési jelölőzászlót a változók kiírásakor, annak érdekében, hogy megakadályozza azok escape szekvenciákként történő értelmezését.

    ~/.zshrc

    autoload -Uz add-zsh-hook

    function xterm_title_precmd () {
        print -Pn -- '\e]2;%n@%m %~\a'
        [[ "$TERM" == 'screen'* ]] && print -Pn -- '\e_\005{2}%n\005{-}@\005{5}%m\005{-} \005{+b 4}%~\005{-}\e\\'
    }

    function xterm_title_preexec () {
        print -Pn -- '\e]2;%n@%m %~ %# ' && print -n -- "${(q)1}\a"
        [[ "$TERM" == 'screen'* ]] && { print -Pn -- '\e_\005{2}%n\005{-}@\005{5}%m\005{-} \005{+b 4}%~\005{-} %# ' && print -n -- "${(q)1}\e\\"; }
    }

    if [[ "$TERM" == (Eterm*|alacritty*|aterm*|foot*|gnome*|konsole*|kterm*|putty*|rxvt*|screen*|wezterm*|tmux*|xterm*) ]]; then
        add-zsh-hook -Uz precmd xterm_title_precmd
        add-zsh-hook -Uz preexec xterm_title_preexec
    fi

#### Parancssor lapjának a címe

Egyes parancssorok és parancssor-multiplexerek támogatják a lap címének a beállítását. Az escape szekvenciák a parancssortól függnek:

Parancssor | Escape szekvenciák | Leírás
--- | --- | ---
GNU Screen | `\ek``\e\\` | Screen ablakának a címe (`%t`).
Konsole | `\e]30;``\a` | Konsole lapjának a címe.

### Parancssorkörnyezet észlelése

Tekintse meg az Environment variables#Shell environment detection című leírást.

### /dev/tcp megfelelője: ztcp

Használja a `zsh/net/tcp` modult:

    $ zmodload zsh/net/tcp

Innentől kezdve Ön most már létrehozhat TCP-kapcsolatokat:

    $ ztcp example.com 80

További részletek a zshmodules(1) § THE_ZSH/NET/TCP_MODULE és a zshtcpsys(1) man súgóleírásokban érhetők el.

### Billentyűparancs a parancssorból történő kilépéshez részben kitöltött parancssor esetén

Alapértelmezés szerint a `Ctrl+d` nem zárja be a parancssort amikor a parancssor nem üresen. Ezt a viselkedést a következő javítja:

    .zshrc

    exit_zsh() { exit }
    zle -N exit_zsh
    bindkey '^D' exit_zsh

### pacman -F "command not found" handler

A pacman szoftvercsomag-kezelő olyan funkcionalitást tartalmaz, amellyel megkereshetők az egy adott fájlt tartalmazó szoftvercsomagok. Az alábbi command-not-found handler közvetlenül a pacman szoftvercsomag-kezelőt használja a megfelelő szoftvercsomagok megkeresésére, amikor egy ismeretlen parancs kerül végrehajtásra.

    ~/.zshrc

    ...
    function command_not_found_handler {
        local purple='\e[1;35m' bright='\e[0;1m' green='\e[1;32m' reset='\e[0m'
        printf 'zsh: command not found: %s\n' "$1"
        local entries=(
            ${(f)"$(/usr/bin/pacman -F --machinereadable -- "/usr/bin/$1")"}
        )
        if (( ${#entries[@]} ))
        then
            printf "${bright}$1${reset} may be found in the following packages:\n"
            local pkg
            for entry in "${entries[@]}"
            do
                # (repo package version file)
                local fields=(
                    ${(0)entry}
                )
                if [[ "$pkg" != "${fields[2]}" ]]
                then
                    printf "${purple}%s/${bright}%s ${green}%s${reset}\n" "${fields[1]}" "${fields[2]}" "${fields[3]}"
                fi
                printf '    /%s\n' "${fields[4]}"
                pkg="${fields[2]}"
            done
        fi
        return 127
    }
    ...

Megjegyzés A pacman fájladatbázisa elkülönül a normál szinkronizálási adatbázistól, ezért azt a `pacman -Fy` paranccsal kell letölteni. Részletekért tekintse meg a pacman (Magyar)#Szoftvercsomag-adatbázisok lekérdezése című leírást.

A pkgfile használatán alapuló alternatíváért tekintse meg a #pkgfile "command not found" handler című leírást.

### A visszapuffer törlése billentyűkombinációval

Alapértelmezés szerint a képernyő törlésére szolgáló billentyűkombináció a legtöbb parancssorban nem törli a visszapuffert (azt a részt, amelyet felfelé görgetve lehet elérni). Erre a problémára az alábbi adhatja a megoldást.

    ~/.zshrc

    ...
    function clear-screen-and-scrollback() {
        printf '\x1Bc'
        zle clear-screen
    }

    zle -N clear-screen-and-scrollback
    bindkey '^L' clear-screen-and-scrollback
    ...

## Harmadik féltől származó bővítmények

### Beállítást elősegítő keretrendszerek

Megjegyzés A keretrendszerek az absztrakció és a komplexitás szintjét vezetik be. Meghatározatlan viselkedést produkálhatnak, és gyakran meg is teszik. A parancssor tönkremenetele esetén az első hibakeresési lépés a sima parancssorra történő visszatérés.

- oh-my-posh — Az Oh My Posh egy egyedi prompt motor bármely olyan parancssor számára, amely képes egy függvény vagy változó segítségével módosítani a prompt karakterláncát.

  https://github.com/JanDeDobbeleer/oh-my-posh || oh-my-poshAUR

- oh-my-zsh — Népszerű, a Zsh beállításának a kezelésére szolgáló, közösség által fejlesztett keretrendszer. Számos hasznos függvényt, segédfüggvényt, bővítményt és parancssortémát tartalmaz.

  https://github.com/ohmyzsh/ohmyzsh || oh-my-zsh-gitAUR

- Prezto — A Zsh beállítása számára létrehozott keretrendszer. Modulokat tartalmaz, amelyek észszerű alapértelmezésekkel, álnevekkel (aliaszokkal), függvényekkel, automatikus kiegészítéssel és parancssori témákkal gazdagítják a parancssori felület a környezetét.

  https://github.com/sorin-ionescu/prezto || prezto-gitAUR

- ZIM — Villámgyors, a parancssor beállítását elősegítő keretrendszer, amely moduláris bővítményekkel rendelkezik. A Zim rendkívül könnyen testre szabható, és gazdag modulkészletet, valamint számos funkciót kínál anélkül, hogy a sebesség vagy a funkcionalitás terén kompromisszumot kötne.

  https://github.com/zimfw/zimfw || zsh-zim-gitAUR

### Bővítménykezelés

- Antidote — A régi Antibody bővítménykezelő teljes funkcionalitású Zsh implementációja.

  https://github.com/mattmc3/antidote || zsh-antidoteAUR

- zinit (korábban "zplugin" volt a neve) — Rugalmas Zsh bővítménykezelő letisztult fpath-kezeléssel, jelentésekkel, kiegészítéskezeléssel és turbó móddal ÚJJÁÉLESZTVE.

  https://github.com/zdharma-continuum/zinit || zinitAUR

- zi (korábban "zplugin" volt a neve) — A zplugin alternatív fejlesztési elágazása, amelynek célja az eredeti projekt továbbfejlesztése, nem pedig annak megőrzése és karbantartása, mint a zinit esetében.

  https://github.com/z-shell/zi || not packaged? search in AUR

- sheldon — Gyors, testre szabható, Rust programozási nyelven megírt parancssor-bővítménykezelő.[4]

  https://github.com/rossmacarthur/sheldon || sheldon

- Antigen — Zsh bővítménykezelő, amelyet az oh-my-zsh és a vundle ihletett. ELHAGYATOTT fejlesztés.

  https://github.com/zsh-users/antigen || antigen-gitAUR

- zgen — Könnyűsúlyú és egyszerű bővítménykezelő a Zsh számára. ELHAGYATOTT fejlestés.

  https://github.com/tarjoilija/zgen || zgen-gitAUR

- zplug — Következő generációs Zsh bővítménykezelő. ELHAGYATOTT fejlesztés.

  https://github.com/zplug/zplug || zplugAUR

### Fish-szerű szintaxiskiemelés és automatikus javaslatok

A fish nagyon erőteljes parancssori szintaxiskiemelést és automatikus parancssori javaslatokat biztosít. A mindkettő, Zsh-ban történő használata érdekében Ön feltelepítheti a számítógépre a zsh-syntax-highlighting, zsh-autosuggestions szoftvercsomagokat. (Értelemszerűen, az előbb felsorolt szoftvercsomagok tartalmazzák a bővítményeket). Sikeres letöltődés és feltelepülés után, olvassa be az egyik bővítményt (vagy mindkettő bővítményt) a Zsh beállításfájl (zshrc) végén található szkript egyikével. Ügyeljen arra, hogy a zsh-syntax-highlighting bővítmény a zsh-autosuggestions bővítmény után legyen betöltve a Zsh parancssorba [5]:

    ~/.zshrc

    source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
    source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

### pkgfile "command not found" handler

A pkgfile tartalmaz egy Zsh szkriptfájlt, amely biztosít egy `command_not_found_handler` függvényt. A függvény automatikusan megkeresi a pkgfile adatbázist, amikor Ön egy fel nem ismert parancsot gépel be.

Azért, hogy a szkriptfájl engedélyezve legyen, Önnek az be kell olvasnia. Például:

    ~/.zshrc

    source /usr/share/doc/pkgfile/command-not-found.zsh

Megjegyzés Mielőtt Ön ezt a szkriptfájlt működésbe hozná, szükség lehet a pkgfile adatbázis felfrissítésére. A részletekért tekintse meg a pkgfile#Telepítés című leírást.

A pacman natív funkcionalitását használó alternatíváért, tekintse meg a #pacman -F "command not found" handler című leírást.

## Hibaelhárítás

### IOT utasítás

Az `IOT instruction` üzenet csupán azt jelenti, hogy egy alkalmazás a 6-os jelzéssel (SIGABRT, megszakítási jelzés) fejezte be a lefutását. A patch már az upstream-ben van (tehát használható a zsh-gitAUR), és a 5.10-es verzióban kerül alkalmazásra. További információkért tekintse meg a [6], [7], valamint signal(7) § Standard signals man súgóleírást.

## További olvasnivaló a témában

- Wikipedia:Zsh
- An Introduction to the Z Shell
- A User's Guide to ZSH
- Z Shell dokumentációja. (Különböző formátumban itt érhető el.)
- Zsh FAQ
- zsh-lovers(1) (Benne van a zsh-lovers szoftvercsomagban.)
- Gentoo: Zsh/Guide
- Bash2Zsh Reference Card

Category:

- Command-line shells (Magyar)

Hidden categories:

- Pages or sections flagged with Template:Accuracy
- Pages with missing package links

Zsh (Magyar)
Add topic