Difference between revisions of "Zsh (Česky)"

From ArchWiki
Jump to: navigation, search
Line 82: Line 82:
 
promptinit
 
promptinit
 
   
 
   
# This will set the default prompt to the walters theme
 
 
# Tohle nastaví defaultní prompt na walters theme
 
# Tohle nastaví defaultní prompt na walters theme
 
prompt walters}}
 
prompt walters}}
Line 88: Line 87:
 
=== /etc/zprofile ===
 
=== /etc/zprofile ===
  
Much like the {{Filename|/etc/profile}} used for Bash, this file is for global Zsh settings & is a good place from which to run scripts from {{Filename|/etc/profile.d/}} and set up environment variables such as $PATH.  
+
Stejně jako {{Filename|/etc/profile}}, který používá Bash, tento soubor je pro globální nastavení Zsh + je to dobré místo pro pouštění skriptů z {{Filename|/etc/profile.d/}} a nastavování proměnných prostředí jako např. $PATH.
When setting up $PATH etc. in {{Filename|.zshrc}} and using a login-manager such as kdm, you may find those settings not being taken up by the window-manager, whereas they are when using {{Filename|/etc/zprofile}}.  
+
Při nastavování $PATH atd. v {{Filename|.zshrc}} a používání login manažeru jako např. kdm, můžeš zjistit že tyto nastavení nebyly přebrány okením manažerem, zatímco používají {{Filename|/etc/zprofile}}.
  
 
Obecně řečeno, můžes skopírovat {{Filename|/etc/profile}} do {{Filename|/etc/zprofile}}.
 
Obecně řečeno, můžes skopírovat {{Filename|/etc/profile}} do {{Filename|/etc/zprofile}}.
Line 169: Line 168:
 
=== Výzvy příkazového řádku ===
 
=== Výzvy příkazového řádku ===
  
There is a quick and easy way to set up a colored prompt in Zsh. Make sure that prompt is set to autload in your {{Filename|.zshrc}}. This can be done by adding these lines to:
+
Tady je rychlý a jednoduchý způsob jak nastavit barevnou výzvu příkazového řádku. Ujisti se že výzva je nastavena na autoload ve tvém {{Filename|.zshrc}}. Toho může být dosáhnuto přídáním:
  
 
{{File|name=~/.zshrc|content=
 
{{File|name=~/.zshrc|content=
Line 175: Line 174:
 
promptinit}}
 
promptinit}}
  
You can now see available prompts by running the command:
+
Nyní si můžeš vypsat dostupné výzvy příkazového řádku:
 
   
 
   
 
  $ prompt -l
 
  $ prompt -l
Line 183: Line 182:
 
  $ prompt walters
 
  $ prompt walters
  
===Advanced .zshrc===
+
=== Rozšířený .zshrc ===
  
This is an example of a more advanced {{Filename|.zshrc}}:
+
Tohle je ukázka rozšířeného {{Filename|.zshrc}}:
  
 
{{File|name=~/.zshrc|content=<nowiki>
 
{{File|name=~/.zshrc|content=<nowiki>
 
###########################################################         
 
###########################################################         
# Options for Zsh
+
# Vlastnosti Zsh
  
 
export HISTFILE=~/.zsh_history
 
export HISTFILE=~/.zsh_history
Line 209: Line 208:
 
setopt nohup
 
setopt nohup
  
# PS1 and PS2
+
# PS1 a PS2
 
export PS1="$(print '%{\e[1;34m%}%n%{\e[0m%}'):$(print '%{\e[0;34m%}%~%{\e[0m%}')$ "
 
export PS1="$(print '%{\e[1;34m%}%n%{\e[0m%}'):$(print '%{\e[0;34m%}%~%{\e[0m%}')$ "
 
export PS2="$(print '%{\e[0;34m%}>%{\e[0m%}')"
 
export PS2="$(print '%{\e[0;34m%}>%{\e[0m%}')"
  
# Vars used later on by Zsh
+
# Proměnné použité později v Zsh
 
export EDITOR="gvim -geom 82x35"
 
export EDITOR="gvim -geom 82x35"
 
export BROWSER=links
 
export BROWSER=links
Line 219: Line 218:
  
 
##################################################################
 
##################################################################
# Stuff to make my life easier
+
# Pár věcí k usnadnění práce
  
# allow approximate
+
# povol approximate
 
zstyle ':completion:*' completer _complete _match _approximate
 
zstyle ':completion:*' completer _complete _match _approximate
 
zstyle ':completion:*:match:*' original only
 
zstyle ':completion:*:match:*' original only
 
zstyle ':completion:*:approximate:*' max-errors 1 numeric
 
zstyle ':completion:*:approximate:*' max-errors 1 numeric
  
# tab completion for PID :D
+
# doplňování pomocí klávesy TAB pro PID :D
 
zstyle ':completion:*:*:kill:*' menu yes select
 
zstyle ':completion:*:*:kill:*' menu yes select
 
zstyle ':completion:*:kill:*' force-list always
 
zstyle ':completion:*:kill:*' force-list always
  
# cd not select parent dir
+
# příkaz cd nevybere rodičovský adresář
 
zstyle ':completion:*:cd:*' ignore-parents parent pwd
 
zstyle ':completion:*:cd:*' ignore-parents parent pwd
  
 
##################################################################
 
##################################################################
# Key bindings
+
# Nastavení kláves
 
# http://mundy.yazzy.org/unix/zsh.php
 
# http://mundy.yazzy.org/unix/zsh.php
 
# http://www.zsh.org/mla/users/2000/msg00727.html
 
# http://www.zsh.org/mla/users/2000/msg00727.html
Line 251: Line 250:
  
 
##################################################################
 
##################################################################
# My aliases
+
# Aliasy
  
# Set up auto extension stuff
+
# Nastavíme automatické rozpoznání koncovek souborů
 
alias -s html=$BROWSER
 
alias -s html=$BROWSER
 
alias -s org=$BROWSER
 
alias -s org=$BROWSER
Line 270: Line 269:
 
alias -s PKGBUILD=$EDITOR
 
alias -s PKGBUILD=$EDITOR
  
# Normal aliases
+
# Normální aliasy
 
alias ls='ls --color=auto -F'
 
alias ls='ls --color=auto -F'
 
alias lsd='ls -ld *(-/DN)'
 
alias lsd='ls -ld *(-/DN)'
Line 291: Line 290:
 
alias msn="tmsnc -l hutchy@subdimension.com"
 
alias msn="tmsnc -l hutchy@subdimension.com"
  
# command L equivalent to command |less
+
# ekvivalentní příkazu less
 
alias -g L='|less'  
 
alias -g L='|less'  
  
 
# command S equivalent to command &> /dev/null &
 
# command S equivalent to command &> /dev/null &
alias -g S='&> /dev/null &'
+
# ekvivalentní příkazu &> /dev/null &
  
# type a directory's name to cd to it
+
# napiš jméno adresáře pro vstoupení do něj
 
compctl -/ cd
 
compctl -/ cd
 
</nowiki>}}
 
</nowiki>}}
  
There are many more ways that you can customise Zsh, obviously far too many to list here, see the [http://zsh.sunsite.dk/Doc/ Zsh manual] for more information.
+
Je zde mnoho dalších možností jak si upravit chování Zsh, zjevně příliš mnoho pro probírání zde, podívej se na [http://zsh.sunsite.dk/Doc/ Zsh manuál] pro více informací.
  
===Sample .zshrc files===
+
=== Ukázkové .zshrc soubory ===
  
Here is a list of {{Filename|.zshrc}} files. Feel free to add your own:
+
Zde je seznam {{Filename|.zshrc}} souborů. Klidně přidej svůj vlastní:
  
* Øyvind 'Mr.Elendig' Heggstad <=> Basic setup, with dynamic prompt and window title/hardinfo <=> http://arch.har-ikkje.net/configs/home/dot.zshrc
+
* Øyvind 'Mr.Elendig' Heggstad <=> Základní nastavení, s dynamickou výzvou příkazového řádku a titulkem okna/hardinfo <=> http://arch.har-ikkje.net/configs/home/dot.zshrc
  
==Enable Unicode (obsolete)==
+
== Povolení Unicode (zastaralé) ==
{{Note| Unicode is enabled by default on the official Arch Linux Zsh package.}}
+
{{Poznámka| Unicode je v oficiálním balíku Arch Linuxu standardně povoleno.}}
  
 
The latest versions of Zsh support unicode characters. To enable it, just rebuild the package with the [[Arch Build System]].
 
The latest versions of Zsh support unicode characters. To enable it, just rebuild the package with the [[Arch Build System]].
 +
Poslední verze Zsh podporují unicode znaky. Pro jejich povolení znovu sestvat balík s pomocí [[Arch Build System]].
  
And add the option ''--enable-multibyte'' to:  
+
A přidej volbu ''--enable-multibyte'' do:  
  
 
{{File|name=PKGBUILD|content=
 
{{File|name=PKGBUILD|content=
Line 333: Line 333:
 
}}
 
}}
  
==Uninstallation==
+
== Odinstalace ==
If you decide that Zsh is not the shell for you and you want to return to Bash. You must first change your default shell back to Bash, before removing the Zsh package.
+
Pro případ že se rozhodneš, že Zsh není shell pro tebe a budeš se chtít vrátit Bashi. Nejprve musíš změnit tvůj implicitní shell na Bash.
  
Follow, [[Zsh#Making Zsh your default shell]] to change the default shell back to Bash, just replace zsh with bash.
+
Následuj, [[Zsh#Nastavení Zsh jako implicitní shell]] pro změnu shellu zpět na Bash, jen nahraď Zsh Bashem.
  
Now you can safely remove the Zsh package.
+
Nyní můžeš bezpečně odstranit balík Zsh.
  
{{Warning| Failure to follow the above will result in all kinds of problems.}}
+
{{Varování| Pokud nedodržíš předchozí instrukce, může se vyrojit spousta problémů.}}
  
If you did not follow the above, you can still change the default shell back to Bash by editing /etc/passwd as root. For example:  
+
Pokud jsi nenásledoval instrukce viz výše, stále ještě můžeš změnt implicitní shell zpět na Bash pomocí editace /etc/passwd jako root. Ukázka:
 
   
 
   
from:
+
z:
  username:x:1000:1000:Full Name,,,:/home/username:/bin/zsh
+
  uzivatel:x:1000:1000:Full Name,,,:/home/username:/bin/zsh
to:
+
na:
  username:x:1000:1000:Full Name,,,:/home/username:/bin/bash
+
  uzivatel:x:1000:1000:Full Name,,,:/home/username:/bin/bash
  
==External Resources==
+
== Zdroje ==
 
*[http://zsh.sunsite.dk/Intro/intro_toc.html Zsh Introduction]  
 
*[http://zsh.sunsite.dk/Intro/intro_toc.html Zsh Introduction]  
 
*[http://zsh.sourceforge.net/Guide/zshguide.html Users Guide]
 
*[http://zsh.sourceforge.net/Guide/zshguide.html Users Guide]
Line 358: Line 358:
 
*[http://www.bash2zsh.com/zsh_refcard/refcard.pdf Bash2Zsh Reference Card]
 
*[http://www.bash2zsh.com/zsh_refcard/refcard.pdf Bash2Zsh Reference Card]
 
<br>
 
<br>
*<b>IRC channel:</b> #zsh at irc.freenode.org
+
*<b>IRC kanál:</b> #zsh at irc.freenode.org

Revision as of 14:28, 11 December 2009

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n links end Zsh je mocný shell se kterým je možno pracovat jako s interaktivním shellem i jako se interpretrem skriptovacího jazyka. Je sice kompaktibilní se shellem Bash, nabízí však další možnosti jako:

  • Rychlost
  • Vylepšené doplňování klávesou TAB
  • Vzlepšený globbing
  • Vylepšená práce s poli
  • Plně přizpůsobitelný

Zsh Faq nabízí více důvodů proč používat Zsh.

Instrukce pro instalaci

Než začneš, zjisti který shell právě používáš:

$ echo $SHELL

Instalace

Pro instalaci Zsh balíku, spusť:

# pacman -S zsh

Před nastavením Zsh jako impliticní shell se ujisti jestli byl nainstalován korektně jeho spuštěním např. v okně xtermu nebo tty:

$ zsh

Pokud instalace proběhla hladne, měl by jsi teď vidět neznámý prompt, zatím prostě napiš:

$ exit

Nastavení Zsh jako implicitní shell

Pro změnu uživatelského implicitního shellu bez rootovských oprávnění se používá příkaz chsh. Příkaz chsh lze použít pro změnu implicitního shellu bez rootovských oprvávnění jen pokud je shell uveden v souboru Template:Filename. Pokud jsi Zsh instaloval použitím pacmana, Zsh již by měl mít odpovídající záznam v Template:Filename.

Pro pokračování potřebuješ znát plnou cestu k Zsh, proto spusť:

$ which zsh

Změn implicitní shelll pro práve přihlášeného uživatele:

$ chsh -s /bin/zsh

Alternativní cesta ke změně shellu vede přes příkaz usermod. Nevýhodou této metody je potřeba mít k pc rootovský přístup. Více uživatelských účtů může být změněno rychle jako root, použitím příkazu usermod nebo chsh.

Změna implicitního shellu pro více uživatelů použitím příkazu usermod:

# usermod -s /bin/zsh uzivatel

Změna implicitního shellu pro více uživatelů použitím příkazu chsh:

# chsh -s /bin/zsh username

Template:Poznámka

Po opětovném přihlášení si můžeš ověřit, zda je Zsh opravdu tvým implicitním shellem:

$ echo $SHELL

Pokud nemáš rootovská práva a Zsh není zapsán v souboru Template:Filename ale i přesto by jsi rád používal Zsh jako implicitní shell, přejdi na tento záznam ve Zsh FAQ.

Konfigurace

Prestože je Zsh použitelný 'out of the box', skoro určitě nebude nastavený tak jak by sis přál. Kvůli velkému množství možných nastavení dostupných v Zsh se může vytváření konfiguračního souboru stát časově velice náročnou záležitostí.

Dále je přiložený ukázkový konfigurační soubor, poskytuje několik základních nastavení. Pokud chceš použít tento konfigurační soubor, ulož jej jako Template:Filename ve svém domovském adresáři. Poté jej již můžeš upravovat bez potřeby odhlašování se tímto příkazem:

$ source ~/.zshrc

Ukázkový .zshrc

Tady je základní Template:Filename, který by měl být pro začátek dostačující:

Template:File

/etc/zprofile

Stejně jako Template:Filename, který používá Bash, tento soubor je pro globální nastavení Zsh + je to dobré místo pro pouštění skriptů z Template:Filename a nastavování proměnných prostředí jako např. $PATH. Při nastavování $PATH atd. v Template:Filename a používání login manažeru jako např. kdm, můžeš zjistit že tyto nastavení nebyly přebrány okením manažerem, zatímco používají Template:Filename.

Obecně řečeno, můžes skopírovat Template:Filename do Template:Filename.

Ukázková konfigurace:

Template:File

Template:Poznámka

Doplňování příkazů

Asi nejpůsobivější funkcí Zshellu jsou jeho rozšířené schopnosti doplňování. Přinejmenším budeš chtít povolit automatické doplňování ve tvém Template:Filename. Pro povolení automatického doplňování, přidej následující:

Template:File

Pro automatické doplňování obohacené o možnost výběru kurzorovými šipkami přidej toto: Template:File

Nastavení kláves

Zsh nečte obsah souboru Template:Filename, který říká co který příkaz zaslaný emulátorem terminálu znamená. Pro povolení standardních kláves, přidej něco jako toto:

Template:File

Výzvy příkazového řádku

Tady je rychlý a jednoduchý způsob jak nastavit barevnou výzvu příkazového řádku. Ujisti se že výzva je nastavena na autoload ve tvém Template:Filename. Toho může být dosáhnuto přídáním:

Template:File

Nyní si můžeš vypsat dostupné výzvy příkazového řádku:

$ prompt -l

To try one of the commands that is listed, use the command prompt followed by the name of the prompt you like. For example, to use the "walters" prompt, you would enter:

$ prompt walters

Rozšířený .zshrc

Tohle je ukázka rozšířeného Template:Filename:

Template:File

Je zde mnoho dalších možností jak si upravit chování Zsh, zjevně příliš mnoho pro probírání zde, podívej se na Zsh manuál pro více informací.

Ukázkové .zshrc soubory

Zde je seznam Template:Filename souborů. Klidně přidej svůj vlastní:

Povolení Unicode (zastaralé)

Template:Poznámka

The latest versions of Zsh support unicode characters. To enable it, just rebuild the package with the Arch Build System. Poslední verze Zsh podporují unicode znaky. Pro jejich povolení znovu sestvat balík s pomocí Arch Build System.

A přidej volbu --enable-multibyte do:

Template:File

Odinstalace

Pro případ že se rozhodneš, že Zsh není shell pro tebe a budeš se chtít vrátit Bashi. Nejprve musíš změnit tvůj implicitní shell na Bash.

Následuj, Zsh#Nastavení Zsh jako implicitní shell pro změnu shellu zpět na Bash, jen nahraď Zsh Bashem.

Nyní můžeš bezpečně odstranit balík Zsh.

Template:Varování

Pokud jsi nenásledoval instrukce viz výše, stále ještě můžeš změnt implicitní shell zpět na Bash pomocí editace /etc/passwd jako root. Ukázka:

z:

uzivatel:x:1000:1000:Full Name,,,:/home/username:/bin/zsh

na:

uzivatel:x:1000:1000:Full Name,,,:/home/username:/bin/bash

Zdroje


  • IRC kanál: #zsh at irc.freenode.org