LINUX.ORG.RU

zsh 4.3.3 released


0

0

* поддежка многобайтовых кодировок.
* исправление ошибок..
* математические функции в пользовательских функциях.
* расширения zle.
* новые функции работы с временем и календарем.
* прочее.
* ftp://ftp.zsh.org

★★

Проверено: Casus ()

>багфиксинг

исправление ошибок.

Форматтинг ньюса определенно надо фиксить.

p.s. А новость хорошая (особенно первый пункт). Периодически делаю попытки перелезть на zsh, но как-то все не получается. Слишком привык к bash.

anonymous
()
Ответ на: комментарий от anonymous

Периодически сталкиваюсь с readline-like bindings. Ломает. Zsh наше фсё.

evg_krsk
()
Ответ на: комментарий от akmal_d

>кстати а есть у zsh пользователи?

Zsh не променяю ни на что другое. Теперь не понимаю, как можно юзать bash.

P.S. Это моё IMHO. Кого задел - просьба попробовать zsh с нормальным конфигом ;)

BigBiker
()
Ответ на: комментарий от BigBiker

Один недостаточек: когда конфиг после многих лет разрастается, начинаются притормаживания.

P.S.: сайты их тож тормозят. Лор-эффект?

evg_krsk
()
Ответ на: комментарий от BigBiker

Долгое время не мог перейти на zsh из-за неподдержки utf8, как только стал поддерживать - перешёл на него с bash'a. Разница заметна, и в лучшую сторону.

Zmacs
()
Ответ на: комментарий от BigBiker

> Это моё IMHO. Кого задел - просьба попробовать zsh с нормальным конфигом ;)

Конфиг и его описание, в студию! :)

Neksys ★★★
()

ура! zsh - лучший!

-- пользователь zsh с 4 летним стажем --

mic ★★★★★
()
Ответ на: комментарий от Neksys

>Конфиг и его описание, в студию! :)

Ну, мой конфиг на звание нормального не претендует, в нем, естественно, много чего можно добавить (или убрать), но все руки, что называется, не доходят. По этой же причине критика не принимается ;))

#
# /etc/zshrc is sourced in interactive shells.  It
# should contain commands to set up aliases, functions,
# options, key bindings, etc.
#

# Shell functions
#setenv() { export $1=$2 }  # csh compatibility

setenv() { typeset -x "${1}${1:+=}${(@)argv[2,$#]}" }  # csh compatibility
freload() { while (( $# )); do; unfunction $1; autoload -U $1; shift; done }
stty pass8

# Set prompts
PROMPT="$(echo '%{\e[1;31m%}%m %{\e[1;34m%}%n #%{\e[1;37m%} ')"

#bindkey -v             	# vi key bindings
#bindkey -e			# emacs key bindings

bindkey ' ' 			magic-space  # also do history expansion on space
bindkey '^[[3~' 		delete-char

case $TERM in
        linux)
        bindkey "^[[2~" 	yank
        bindkey "^[[3~" 	delete-char
        bindkey "^[[5~" 	up-line-or-history
        bindkey "^[[6~" 	down-line-or-history
        bindkey "^[[1~" 	beginning-of-line
        bindkey "^[[4~" 	end-of-line
        bindkey "^[e" 		expand-cmd-path
        bindkey "^[[A" 		up-line-or-search
        bindkey "^[[B" 		down-line-or-search
        bindkey " "		magic-space
        ;;
*xterm*|(dt|k|E)term)
        bindkey "\e[3;2~"	delete-word      	# Shift-Del
        bindkey "^[[2~" 	yank
        bindkey "^[[3~" 	delete-char
        bindkey "^[[5~" 	up-line-or-history
        bindkey "^[[6~" 	down-line-or-history
        bindkey "\e[H" 		beginning-of-line
        bindkey "\e[F" 		end-of-line
        bindkey "^[e" 		expand-cmd-path		## C-e for expanding path of typed command
        bindkey "^[[A" 		up-line-or-search   	## up arrow for back-history-search
        bindkey "^[[B" 		down-line-or-search	## down arrow for fwd-history-search
        bindkey " "		magic-space 		## do history expansion on space
	bindkey "^_"		backward-delete-char
        ;;
rxvt*)
	bindkey "\e[7~"		beginning-of-line 	# Home
	bindkey "\e[8~"		end-of-line       	# End
	bindkey "\e[3$"		delete-word       	# Shift-Del
	;;
esac

    bindkey    "^[[C"		forward-char
    bindkey    "^[[D"		backward-char
    bindkey    "^[[A"		up-history
    bindkey    "^[[B"		down-history
	    
    bindkey    "^?"		backward-delete-char
    bindkey    "^H"		backward-delete-char
		    
# setup backspace correctly
#if [ -x /usr/bin/tput ]; then
	# check we're not in a dumb terminal
#	[ -n "`tput kbs 2>/dev/null`" ] && stty erase `tput kbs`
#fi

if [ -f /usr/share/mc/mc.gentoo ]; then
     . /usr/share/mc/mc.gentoo
fi

setopt histignoredups histignorespace
setopt No_Beep
unsetopt bgnice autoparamslash

autoload -U compinit promptinit
compinit
promptinit; 
#prompt gentoo
zstyle ':completion::complete:*' use-cache 1
zmodload zsh/complist
zstyle ':completion:*' menu yes select
alias ls='ls --color'
alias aterm='aterm -tr -trsb -sh 30 -fn "-*-terminus-medium-r-normal-*-*-140-*-*-c-*-koi8-r" +sb -cr yellow -fg green >& /dev/null'
alias aterm2='for i in `seq 5`;do aterm &!;done'
alias multi-aterm='multi-aterm -tr -trsb -sh 30 -font "-*-terminus-medium-r-normal-*-*-140-*-*-c-*-koi8-r" +sb -fg green'

src () {
   autoload -U zrecompile
   [ -f /etc/zsh/zshrc ] && zrecomile -p /etc/zsh/zshrc
   [ -f ~/.zshrc ] && zrecompile -p ~/.zshrc
   [ -f ~/.zshrc.zwc.old ] && rm -f ~/.zshrc.zwc.old
   [ -f ~/.zcompdump.zwc.old ] && rm -f ~/.zcompdump.zwc.old
   source ~/.zshrc
}

setopt autocd
setopt CORRECT_ALL
SPROMPT="Ошибка! Вы хотели ввести %r вместо %R? ([Y]es/[N]o/[E]dit/[A]bort) "
case $TERM in
 xterm* | rxvt)
  preexec(){print -Pn "\e]0;$0\a"}
 ;;
esac
autoload -U tetris
zle -N tetris
bindkey ^T tetris
autoload -U zcalc
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}

BigBiker
()

Не ради флейма. Просвятите, чем оно лучще bash для рядового пользователя? Имеет ли смысл освоить?

v_gudkov
()
Ответ на: комментарий от v_gudkov

> Просвятите, чем оно лучще bash для рядового пользователя?

Как минимум автодополнением команд (это трудно объяснить, лучше самому увидеть), в том числе "интеллектуальное", т.е. дополнение ключей программ (не абсолютно всех, но всё же...).

BigBiker
()
Ответ на: комментарий от BigBiker

>Zsh не променяю ни на что другое. Теперь не понимаю, как можно юзать bash.

Расскажи, а в чём преимущество перед башем...

anonymous
()
Ответ на: комментарий от evg_krsk

> Один недостаточек: когда конфиг после многих лет разрастается, начинаются притормаживания.

откройте для себя zrecompile

ananas ★★★★★
()
Ответ на: комментарий от anonymous

>Расскажи, а в чём преимущество перед башем...

С ходу могу назвать отображение дополнительной инфы в консоли (например, заряда батареиб времени).
Про автодополнение я уже написал (на данный момент для меня это одно из основных преимуществ, не считая различных модулей (например zftp)).
А про остальное... как я уже писал, собственный опыт в данном случае рулит. Попробуй, поставь, подправь конфиг, поработай в консоли (особенно радует дополнение modprobe)- тогда наверняка поймешь, стоит юзать или нет.

P. S. Ах да, самое главное забыл: там есть тетрис!!! :))
P. P. S. Знакомых Linux'оидов пересадил на сабж - очень довольны.

BigBiker
()
Ответ на: комментарий от v_gudkov

> Просвятите, чем оно лучще bash для рядового пользователя?
Для меня это прежде всего:
- Автодополнение всего чего только можно (типа bash-completation, только ВЕЗДЕ и гораздо шире (можно и самому добавлять) включая подсказки по командам (показывает параметры команды с описаниями для чего тот или иной параметр служит).
- Возможность навигации по этому списку. Т.е. возможность "ходить" стрелочками по всем доступным файлам (и опциям к командам), которые вывалились по табу. Набрал cp <TAB> и тебе весь список файлов (директорий), которые можно выбрать стрелочками или pgup, pgdown как в mc (также и с параметрами для команд). Плюс все эти файлы и директории - раскрашены по типу и свойствам (как по ls --color).
- Корректировка вовда (опечатался, набрал там exti, оно само поправило на exit и вежлево спросило - хочу ли я принять эту поправку или отредактировать, или все равно ошибиться).
- Вывод кода ошибки по завершении команды. (Типа как если после каждой команды писать echo $? чтобы проверить вернула ли она ошибку - а тут сразу тебе дает информацию о том выполнилась команда успешно или нет, и если нет, то с каким кодом).
- возможность emacs-like или vi-like keybindings
- мелкие "умные удобстрва" типа набрал имя папки, нажал Enter - оно перешло в эту директорию (ненадо cd набирать), также с исполняемыми файлами и т.п.
- куча расширений, включая работу с tcp/ip (в отличии от bash - работает очень корректно, проверено), встроенный ftp клиенти
- и много чего еще к чему так привык перейдя на Zsh и что стало обычным

l07
()
Ответ на: комментарий от vovans

Стоит то оно стоит, а дока приличная русская имеется по этому поводу? ;)

Будешь смеяться, но про zsh в рунете инфа есть (помню, Федорчук писал), и ищется через google.
А вообще, с нормальным конфигом дока на первых парАх вряд ли понадобится.

BigBiker
()
Ответ на: комментарий от BigBiker

> Как минимум автодополнением команд, дополнение ключей программ (не абсолютно всех, но всё же...).

Есть bash-completion, как они по сравнению друг с другом?

VladimirP ★★★★
()
Ответ на: комментарий от ananas

~$ GR zrecompile .z* .zsh_history:: 1176880260:0;GR zrecompile .z* .zshrc:autoload -U zrecompile .zshrc:zrecompile -p ~/.zshrc ~/.zlogin ~/.zshenv ~/.zalias

Помогает слабо. Xterm и тот быстрее запускается. Терминал открылся и ждёт пока шел догонит.

evg_krsk
()
Ответ на: комментарий от mic

>:) есть тетрис, спасибо.

Да не за что. Я сам не так давно про него вспомнил ;)

BigBiker
()

С какой версии utf поддерживается ? А то ченджлогов не нашёл, что-то на zsh.org

vtVitus ★★★★★
()
Ответ на: комментарий от BigBiker

> Zsh не променяю ни на что другое. Теперь не понимаю, как можно юзать bash.

+1. новость порадовала.

isden ★★★★★
()
Ответ на: комментарий от l07

а возможно ли как-то настроить цвета разных типов файлов

например при просмотре командой ls ?

evrey
()
Ответ на: комментарий от l07

> Плюс все эти файлы и директории - раскрашены по типу и свойствам (как по ls --color).

Оппа ! А можно про это подробнее ? Как оно включается ? У меня всё одним цветом.

Darkman ★★★
()

Рулез! Люблю zsh и даже уже слабо себе представляю как без него работать :)

php-coder ★★★★★
()
Ответ на: комментарий от Darkman

>> Плюс все эти файлы и директории - раскрашены по типу и свойствам (как по ls --color).
> Оппа ! А можно про это подробнее ? Как оно включается ? У меня всё одним цветом.

В ~/.zshrc:
LS_COLORS=`eval dircolors`
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}

l07
()
Ответ на: комментарий от the_one

> А откуда взять коды кнопок для bindkey?

showkey -a

ananas ★★★★★
()
Ответ на: комментарий от evg_krsk

> Помогает слабо. Xterm и тот быстрее запускается. Терминал открылся и ждёт пока шел догонит.

мне помогает. возможно, проблема не совсем в zsh

ananas ★★★★★
()
Ответ на: комментарий от BigBiker

> Zsh не променяю ни на что другое. Теперь не понимаю, как можно юзать bash.

+1 Особенно, когда много работаешь в консоли, то намного удобнее и быстрее.

stassats ★★★★
()

пробовал когда-то. даже понравилось, но остановило то, что не умело utf8.

> * поддежка многобайтовых кодировок.

хм.. теперь буду ждать когда оно в федоре появится... Ж-)

w01f
()

У кого тормозит zsh при запуске:

Помню с емаксом была (а может и сейчас есть) такая проблема - долго запускался, если в /etc/hosts не написано

127.0.0.1 localhost

Потому как пытался resolv'ить и отваливался по тайм-ауту. Может тут то же самое ?

И еще можно запустить xterm -e strace -tt -o /tmp/zsh.log /bin/zsh и посмотреть чем он там занимается.

anonymous
()
Ответ на: комментарий от anonymous

С резолвингом всё хорошо. Трасернуть то трасернул, но вот раскопать полезную инфу из мегабайтного дампа для меня трудновато. Может, тулзы какие есть для анализа логов strace?

Или просто железо слабовато? P-III 1Gh, 256Mb.

evg_krsk
()
Ответ на: комментарий от BigBiker

>Как минимум автодополнением команд (это трудно объяснить, лучше самому увидеть), в том числе "интеллектуальное", т.е. дополнение ключей программ (не абсолютно всех, но всё же...).

bash-completion чем не устраивает? Там все то же самое.

true
()
Ответ на: комментарий от true

> bash-completion чем не устраивает? Там все то же самое.

- И ходить по вывалевшемуся списку можно? (стрелками, клавишами pgup,pgdown)
- И раскраску файлов видно по типам?
- И пояснения к вывалившемся опциям есть типа:
find -type <TAB>
b -- block special file
c -- character special file
d -- directory
f -- normal file
l -- symbolic link
p -- named pipe
s -- socket

l07
()

Отличный шелл.

Мигрирующим с баша по началу можно просто скопировать .bashrc в .zshenv большинство команд и алиасов подхватит сразу, а там уже детали можно доточить.

ЗЫ: рекомендую сторочку для .zshenv:

chpwd() {ls -al --color=auto}

при смене каталога выводит список каталога и не нужно постоянно делать ls. Для интереса посмотрите свои хистори и сколько там парных cd/ls идет :))).

ЗЗЫ: такое можно и для баша сделать, но придется писать функцию и алиас на cd. В zsh это делается проще.

Cris
()
Ответ на: комментарий от true

> А это все из коробки или настраивать надо? Если второе - честное слово, лень. :)

что-то из коробки, что-то надо настраивать. но готовых конфигов в сети - до черта.

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.