Git
Chapters ▾ 2nd Edition

A1.7 Dodatek A: Git v drugih okoljih - Git v Zsh

Git v Zsh

Git tudi prihaja s knjižnico zaključevanja s tabulatorko za Zsh. Za uporabo enostavno poženite autoload -Uz compinit && compinit v vašem .zshrc. Vmesnik Zsh je malenkost bolj zmogljiv od Bashevega:

$ git che<tab>
check-attr        -- display gitattributes information
check-ref-format  -- ensure that a reference name is well formed
checkout          -- checkout branch or paths to working tree
checkout-index    -- copy files from index to working directory
cherry            -- find commits not merged upstream
cherry-pick       -- apply changes introduced by some existing commits

Dvoumna zaključevanja s tabulatorko niso samo izpisana; imajo koristne opise in lahko grafično krmarite po seznamu, tako da ponovno pritiskate tabulatorko. To deluje z ukazi Git, z njihovimi argumenti in imeni stvari znotraj repozitorija (kot so ref-i in daljave), kot tudi z imeni datotek in vsemi ostalimi stvarmi, za katere Zsh ve, kako jih zaključiti s tabulatorko.

Zsh vključuje ogrodje za pridobivanje informacij iz sistemov za nadzor različic, imenovano vcs_info. Da bi vključili v pozivnik na desni strani ime veje, dodajte te vrstice v vašo datoteko ~/.zshrc:

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT='${vcs_info_msg_0_}'
# PROMPT='${vcs_info_msg_0_}%# '
zstyle ':vcs_info:git:*' formats '%b'

To ima za rezultat prikaz trenutne veje na desni strani okna terminala, kadarkoli je vaša lupina znotraj repozitorija Git. Leva stran je seveda tudi podprta; samo odstranite komentar pri dodelitvi na PROMPT. Videti je nekako takole:

Prilagojen pozivnik `zsh`
Slika 185. Prilagojen pozivnik zsh

Za več informacij o vcs_info si oglejte dokumentacijo v strani priročnika zshcontrib(1), ali na spletu na https://zsh.sourceforge.io/Doc/Release/User-Contributions.html#Version-Control-Information.

Namesto vcs_info bi lahko raje uporabili skript za prilagajanje pozivnika, ki ga vključuje Git, imenovan git-prompt.sh; glejte https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh za več podrobnosti. git-prompt.sh je združljiv tako z Bash kot tudi z Zsh.

Zsh je dovolj zmogljiv, saj so mu posvečena celotna ogrodja, da ga naredijo boljšega. Eno izmed njih se imenuje »oh-my-zsh« in najdete ga lahko na https://github.com/ohmyzsh/ohmyzsh. Sistem vtičnika oh-my-zsh prihaja z zmogljivim zaključevanjem Gita s tabulatorko in ima vrsto »tem«, mnoge od njih prikazujejo podatke nadzora različic. Primer teme oh-my-zsh je samo en primer, kaj se lahko naredi s tem sistemom.

Primer teme oh-my-zsh
Slika 186. Primer teme oh-my-zsh
scroll-to-top