Citati10
Debian9
Fotografija7
GNU/Linux12
Git1
Portfolio1
SSH1
Servisi1

Zsh

26. March 2010. » 11. Feb. 2012.

Korišćenje GNU/Linux ili *BSD sistema je nezamislivo bez komandne linije. Dok kucanje komandi odbija nove korisnike, oni koji uspeju da probiju barijeru zauvek ostaju vezani za terminal.

Program koji će interpretirati komande koje kucate je Shell. Postoje razne varijante Shell-a. Onaj koji dolazi u osnovnoj instalaciji je bash, međutim zsh je alternativa u kojoj se mnogo konfornije radi. Dovoljno je videti kako taster Tab ide u korist lenjosti i spašava vas pamćenja gomile opcija za svaku od komandi. Opcije koje nudi pri podešavanju mogu da zadovolje i najzahtevnije korisnike, ukoliko naravno razumete šta znače. Zato ovde dajem konfiguracioni fajl ~/.zshrc u celosti kojim možete početi sa radom bez prethodnog podešavanja kroz interaktivni zsh meni. Pogledajte dokumentaciju za detaljnija objašnjenja.

Probna vožnja

Instalirajte:

aptitude install zsh

Možete odmah otovoriti terminal i ukucati:

zsh

Ukoliko ne postoji fajl ~/.zshrc prikazaće vam se interaktivni meni za podešavanje opcija koji će vam napraviti spomenuti fajl. Možete se lišiti muka time što ćete iskopirati sledeći tekst u .zshrc fajl unutar vašeg home direktorijuma:

autoload -U zmv
autoload colors
colors

autoload -U promptinit
promptinit

setopt share_history
setopt appendhistory
setopt autocd
setopt automenu
setopt autopushd
setopt autoresume
setopt complete_in_word
setopt extended_glob
setopt hist_ignoredups
setopt hist_ignorespace
setopt list_types
setopt mailwarning
setopt no_flowcontrol
setopt no_hup
setopt no_notify
setopt printexitvalue
setopt pushd_ignoredups
setopt pushd_silent

zmodload -a colors
zmodload -a autocomplete
zmodload -a complist

# Prompt
PS1="%{$fg[red]%}%n%{$fg[white]%}@%{$fg[red]%}%m%{$fg[white]%}:%{$fg[white]%}%~%{$fg[red]%}%# %{$reset_color%}"

# ls colors
export LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jpg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.png=01;35:*.mpg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:"

# Zsh settings for history
export HISTIGNORE="&:ls:[bf]g:exit:reset:clear:cd:cd ..:cd.."
export HISTSIZE=25000
export HISTFILE=~/.zsh_history
export SAVEHIST=25000
setopt APPEND_HISTORY
setopt INC_APPEND_HISTORY
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_REDUCE_BLANKS
setopt HIST_SAVE_NO_DUPS
setopt HIST_VERIFY

# Zsh spelling correction options
setopt CORRECT

# Prompts for confirmation after 'rm *' etc
# Helps avoid mistakes like 'rm * o' when 'rm *.o' was intended
setopt RM_STAR_WAIT

# Background processes aren't killed on exit of shell
setopt AUTO_CONTINUE

# Don’t nice background processes
setopt NO_BG_NICE

# Watch other user login/out
watch=notme
export LOGCHECK=60

# Editor
export EDITOR="vi"
export USE_EDITOR=$EDITOR
export VISUAL=$EDITOR

# General short aliases
alias ls='ls --color=auto'
alias la='ls -la'
alias rm-empty='find -depth -type d -empty -exec rmdir {} \;'

# Push History from previous sessions
fc -R $HISTFILE

# Forcing the rehash
_force_rehash() {
  (( CURRENT == 1 )) && rehash
  return 1
}

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi

# set PATH so it includes /sbin and /usr/sbin
if [ -d /usr/sbin ] ; then
    PATH=/usr/sbin:"${PATH}"
fi
if [ -d /sbin ] ; then
    PATH=/sbin:"${PATH}"
fi

zstyle ':completion:*' completer _expand _complete _match
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s'
zstyle ':completion:*' max-errors 1 numeric
zstyle ':completion:*' menu select=2
zstyle ':completion:*' original true
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
zstyle ':completion:*' substitute 0
zstyle ':completion:*' verbose true
zstyle :compinstall filename '/home/janos/.zshrc'

autoload -Uz compinit
compinit

U ovom glomaznom fajlu, između ostalog, se podešava i „prompt“, boje pri ispisivanju fajlova, istorija, osnovni aliasi i automatsko završavanje komandi.

Kada završite probnu vožnju, vratite se u bash sa Ctrl+D ili:

exit

Default Login Shell

Ako ste zadovoljni, namestite zsh kao osnovni Shell:

chsh -s /bin/zsh

Komentari

Simeun
Simeun   28. March 2010. 23:35
Stvarno strava stvar... Radi k'o zverka! Instalisao sam zsh na sve racunare koje koristim! ;)
Mojnet
Mojnet   15. April 2011. 2:26
zstyle :compinstall filename '/home/janos/.zshrc'
Copy-paste nije uvijek preproculjivo.
Igrice
Igrice   23. March 2013. 5:44
Ponekad se mora nesto prema sebi prilagoditi :)
Pentago
Pentago   25. April 2013. 11:07
O da, Zsh + vi mode (bindkey -v) je keva :)

Zsh useri uglavnom imaju tendencije da over-pimp-uju prompt iz nekog razloga. Meni je '#' ili '$' sasvim dovoljno.

Ako neko ceni minimalizam (.zshrc):

# Prompt
simple_prompt() {
PS1="%(#.#.$) "
PS2="> "
prompt_opts=( cr percent )
}

simple_prompt



Poz!
Mojnet
Mojnet   30. Sept. 2013. 22:43
Sjajna stvar.
Joga
Joga   12. Nov. 2013. 12:46
Sjajno, svi mi koji smo probali Linux, više se nismo vratili na Win.
milioner
milioner   21. Aug. 2014. 11:43
# radi bez ikakvog problema!
Igre
Igre   29. Nov. 2015. 18:54
Radi..

Vaš komentar

feed