Pull to refresh

zsh

Configuring Linux *
Привет!

Поговорим о самом удобном shell-е для Linux. Знакомьтесь — это zsh. Многие пользователи Linux не променяют bash ни на что другое, но я, будучи склонным к экспериментам, не поленился и поставил zsh.

Наверняка он есть во многих дистрибутивах, поэтому я не буду углубляться в то, как его установить. Скажу просто, что с точностью в 95% вы найдете его в репозиториях своего дистрибутива.

Установив, вы можете сразу сделать его шеллом по умолчанию: находим строчку с вашим логином в /etc/passwd и меняем /bin/bash на /bin/zsh. При первом запуске он предложит вам настроить себя — включите там автодополнение по максимуму. Для тех, кому лениво, делюсь своим ~/.zshrc:

bindkey '\e[3~' delete-char # del
bindkey ';5D' backward-word # ctrl+left
bindkey ';5C' forward-word #ctrl+right

autoload -U compinit promptinit
compinit
promptinit;

if [[ $EUID == 0 ]]
then
PROMPT=$'%{\e[1;31m%}%n %{\e[1;34m%}%~ #%{\e[0m%} ' # user dir %
else
PROMPT=$'%{\e[1;32m%}%n %{\e[1;34m%}%~ %#%{\e[0m%} ' # root dir #
fi
RPROMPT=$'%{\e[1;34m%}%T%{\e[0m%}' # right prompt with time

alias ls='ls --color=auto'
alias grep='grep --colour=auto'

Перенастроить под себя можно потом, когда попробуете. Правда я не помню как, но все же умеют пользоваться man ;). Да, о дукементации: там ее много, настроить можно кучу всего, если есть желание разобраться.

бенефиты
1) продвинутый автокомплит. например:
cd /u/l/sb + tab превратится в cd /usr/local/sbin/

sudo — (+ tab) превращается в
sudo —
-H — set HOME environment variable
-K — remove user timestamp
-L — list options from Default section
-S — read password from stdin
-V — show version
-b — run command in background
-h — show help
-k — invalidate user timestamp
-l — list allowed commands
-p — password prompt
-r — Kerberos realm
-s — run SHELL
-u — user name
-v — validate user timestamp

В отличии от bash повторное нажатие на tab приведет к подстановке первого аргумента. Нажмете еще раз — подставится второй.

2) настройка управления в стиле vi или emacs
3) 2 promt-a: в правый, к примеру, можно поместить часы
4) разделяемая история
5) еще куча всего, что я пока не осилил.

Напоследок замечу, что после zsh не хочется переходить ни на что другое =)

— p.s. коллективные блоги с системой оценок меня немного напрягают, поэтому скромно пишу об экспериментах в свой жж. если кому интересно, то ник pax13.
Tags: linuxzshbash
Hubs: Configuring Linux
Total votes 72: ↑64 and ↓8 +56
Comments 64
Comments Comments 64

Popular right now