Gentoo Logo

Disclaimer : Dit document is niet juist en is niet meer onderhouden.


zsh Configuratie and Installatie Gids

Inhoud:

1.  Installatie

Installatie van zsh

Om zsh in Gentoo te installeren, moeten we de app-shells/zsh (zsh zelf) en app-shells/zsh-completion (zsh vervollediging scripts) pakketten compileren en installeren met behulp van emerge.

Codevoorbeeld 1.1: Emerge van zsh

# emerge zsh zsh-completion

Betreden van zsh

Als je zsh voor de eerste keer start, krijg je het volgende bericht. Je kunt deze menu nu overslaan aangezien we later in deze gids een init bestand aanmaken.

Codevoorbeeld 1.2: Overslaan van de aanvankelijke configuratie

$ zsh
This is the Z Shell configuration function for new users, zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~).  This function can help you with a few settings that should
make your use of the shell easier.

You can:

(q)  Quit and do nothing.  The function will be run again next time.

(0)  Exit, creating the file ~/.zshrc containing just a comment.
     That will prevent this function being run again.

(1)  Continue to the main menu.

--- Type one of the keys in parentheses --- q

2.  Configuratie

Inleiding

Om zsh voor een eenmalige sessie te starten, start zsh. Voor een meer permanente oplossing, gelieve te verwijzen naar het Opslaan van de instellingen hoofdstuk. Na de installatie, lijkt zsh erg simpel en dan nogal gelimiteerd in het gebied van de functionaliteit. Om dit te veranderen, moeten verschillende configuratie veranderingen plaatsvinden.

Geavanceerde Tab-voltooiing

Om de bekende zsh tab-voltooiing systeem in te schakelen, moet je de volgende commando&s uitvoeren:

Codevoorbeeld 2.1: Tab-voltooiing inschakelen

% autoload -U compinit
% compinit

De standaard vervollediging stijl is nogal vrij oppervlakkig en lelijk. Als je zijn verschijning wilt verbetere, voer den de volgende commando&s in:

Codevoorbeeld 2.2: vervolledigings-stijl verbeteringen

% zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
% zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'

Commando verbeteringen

Het is ook een goed idee om auto-verbetering van je ingevoerde commando&s in te schakelen:

Codevoorbeeld 2.3: Inschakelen van verbeteringen

% setopt correctall

Invoerscherm

Het invoerscherm ziet er in het begin mischien saai uit, maar die kunnen we in enkele stappen simpel aanpassen. Ten eerste moeten we ondersteuning voor geavanceerde invoerscherm ondersteuning inschakelen:

Codevoorbeeld 2.4: Geavanceerde invoerscherm ondersteuning

% autoload -U promptinit
% promptinit

Beschikbare invoerscherm voorbeelden kunnen afgedrukt worden met het prompt -p commando. Nu kunnen we onze favoriet inschakelen:

Codevoorbeeld 2.5: Een voorbeeld invoerscherm kiezen

(Vervang gentoo met je favoriete invoerscherm)
% prompt gentoo

Nota: Als je met verschillende invoerschermen aan het spelen bent, en je niet van elke een voorbeeld wilt zien, kun je prompt -l gebruiken voor een lijst van de beschikbare invoerschermen.

Een andere optie is om je eigen invoerscherm te creeren. Om dit te doen moet je de PS1 omgevingsvariabele aanpassen.

Codevoorbeeld 2.6: Een simple eingen invoerscherm

% export PS1="[Test Prompt] > "
[Test Prompt] >

In je eigen invoerscherm kun je extra informatie toevoegen met behulp van ingestelde afkortingen. Enkele hiervan zijn:

Afkorting Uitvoer
%T Systeem tijd (HH:MM)
%* Systeem tijd (HH:MM:SS)
%D Systeem datum (YY-MM-DD)
%n Je gebruikersnaam
%B - %b Begin - end dikgedrukte uitvoer
%U - %u Begin - end onderstreepte uitvoer
%d Je huidige directory
%~ Je huidige directory, relatief ten opzichte van ~
%M De computer's computernaam
%m De computer's computernaam (tot aan de eerste punt)
%l Je huidige terminal

Deze escape sequences kunnen simpelweg in je PS1 omgevingsvariable ingevuld worden, zsh parst ze dan vanzelf.

Codevoorbeeld 2.7: Een complexere invoerscherm

% export PS1="[%* - %D] %d %% "
[08:44:23 - 06-02-18] /home/username %

Geschiedenis

Helaas ondersteunt de standaard zsh configuratie in Gentoo niet de commando geschiedenis. Aangezien dit ontzetten frustrerend is kun je dit inschakelen met de volgende commando&s:

Codevoorbeeld 2.8: Simpele geschiedenis ondersteuning

% export HISTSIZE=2000
% export HISTFILE="$HOME/.history"

(De geschieden wordt niet omgeslagen zonder het volgende commando)
% export SAVEHIST=$HISTSIZE

Om te voorkomen dat hetzelfde commando, zoals ls -l, meer dan een keer opgeslagen wordt kun je hist_ignore_all_dups instellen:

Codevoorbeeld 2.9: Negeren van vaker voorkomende commando&s

% setopt hist_ignore_all_dups

Een handig truckje om te voorkomen dat bepaalde commando&s opgeslagen worden is om een spatie voor het commando in te typen.

Codevoorbeeld 2.10: Voorkomen dat een commando opgeslagen wordt

% setopt hist_ignore_space

(Dit commando wordt niet opgeslagen. Let op de extra spatie voor het
commando.)
%  cat /proc/cpuinfo

Diverse instellingen

Je kunt de autocd optie inschakelen als je het telkens intoetsen van cd wilt vermijden.

Codevoorbeeld 2.11: Instellen van de autocd optie

% setopt autocd

Als standaard bash-gelijke globbing je niets lijkt, kan de extendedglob iets voor jou zijn. Je kunt die gelijkaardig instellen als reguliere expressies.

Codevoorbeeld 2.12: Instellen van uitgebreide globbing

% setopt extendedglob

Wanneer de bovenstaande opstie ingesteld is, is het mogelijk door die te gaan gebruiken. bvb:cp ^*.(tar|bz2|gz).

3.  Wegschrijven van instellingen

Wegschrijven van zsh instellingen

Als we eenmaal zsh zo geconfigureerd hebben als we willen, is het een goed idee om die instellingen op te slaan als de nieuwe standaard voor zsh. Een mogelijke manier om dit voor elkaar te krijgen is om de instellingen naar /etc/zsh/zshrc weg te schrijven. Of je kan ze voor een specifiek account instellen in ~/.zshrc.

Codevoorbeeld 3.1: Een voorbeeld zshrc

#!/bin/zsh

# completion
autoload -U compinit
compinit

# correction
setopt correctall

# prompt
autoload -U promptinit
promptinit
prompt gentoo

4.  zsh instellen als je standaard shell

Opties voor gebruikers met root rechten

We kunnen de shell voor een gebruiker aanpasen met het usermod commando.

Codevoorbeeld 4.1: Permanent overschakelen naar zsh gebruikmakend, van het usermod commando

# usermod -s /bin/zsh userlogin

Alternatief voor niet-root gebruikers

Als je systeem beheerder (na vriendelijke aanvragen) wijgert je shell in te stellen naar zsh, kun je bash zsh laten uitvoeren bij het opsterten. Het enige wat je moet doen is een kleine verandering aanbrengen aan je ~/.bashrc.

Codevoorbeeld 4.2: Voorbeeld ~/.bashrc

(Voeg de volgende lijn toe aan je ~/.bashrc)
exec zsh

Een andere manier om je shell te veranderen is het gebruik van het chsh commando (een hulpmiddel die gebruikt wordt om de login shell van een gebruiker aan te passen.) Een normale gebruiker kan alleen de login shell van zijn eigen account aanpasen. Als root kan je de login shell van elke gebruiker aanpassen.µ

Codevoorbeeld 4.3: Permanent overschakelen naar zsh gebruikmakend van chsh

(Vervang "username" met je eigen gebruikersnaam.)
$ chsh -s /bin/zsh username


Print

Upgedate op 18 oktober 2006

De originele versie van dit document wordt niet meer onderhouden

Korte inhoud: Deze gids toont je hoe je zsh snel kunt installeren en configureren. Na het lezen van dit document, zul je in staat zijn om veel zsh eigenschappen, zoals geavanceerde tab-vervollediging, comando correctie en invoerscherm beheer, te gebruiken.

Henryk Konsek
Auteur

Andrew Morritt
Auteur

Chris White
Redacteur

Peter Weller
Redacteur

Dimitry Bradt
Vertaler

Jeroen Habraken
Vertaler

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.