Disclaimer :
Dit document is niet juist en is niet meer onderhouden.
|
zsh Configuratie and Installatie Gids
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 |
% 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"
% 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
% 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 |
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 |
$ chsh -s /bin/zsh username
|
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|