LINUX.ORG.RU

Вышел zsh 5.0

 ,


0

2

Вышла новая версия командного интерпретатора zsh.
Обновления по сравнению с версией 4.2:

  • поддержка многобайтных кодировок;
  • новые опции в ассортименте;
  • подсветка и расцвечивание командной строки;
  • улучшение поддержки POSIX;
  • увеличение количества виджетов для «дополнения» команд;
  • дополнительные модули, такие как zsh/curses для работы с экраном, zsh/datetime для работы с датами и календарем и другие;
  • многое другое, что можно найти в файле NEWS в архиве исходников.

>>> Подробности

★★

Проверено: JB ()
Последнее исправление: Silent (всего исправлений: 1)
Ответ на: комментарий от Atlant

Поддержка utf8 — понятие широкое. Подавляющее большинство гнутого софта, особенно консольного, относится к нему как к ascii, забывая о том, что utf8 в первую очередь юникод.

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

начиная с 4.3 поддерживали, теперь официально.

arto ★★
() автор топика

подсветка и расцвечивание командной строки;

расцветка синтаксиса оболочки, чтоли?

Bad_ptr ★★★★★
()

Шел 2012-й год

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

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

Отличия от баша в студию.

Гугл не помогает?

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

баш отстаёт где-то лет на 10 (сужу по тому, что рекурсивный глоббинг добавили только в 4м баше), а так норм

zolden ★★★★★
()

а почему 4.2, если у меня уже года 4, как 4.3+ cтояли до сегодняшнего утра, когда прилетел апдейт?

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

А кроме глоббинга?

Не знаю как сейчас в баше, но когда я переходил на zsh у него была киллерфича в виде дополнения по <TAB> аргументов команд, втч и их алиасов. У меня сейчас в консоли вместо aptitude алиас на a. Потому чтобы установить например виртуалбокс нужно всего лишь набрать в консоли:

a i<TAB> virtu<TAB>. Потом выбрать (курсором) из вариантов пакетов, которые предлагает zsh, нужное и нажать Enter.

another ★★★★★
()

Попробовать что ли? Новость заинтриговала.

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

ты меня троллишь что-ли? куча интернетов исписана на эту тему
zsh в целом более удобен и интуитивен, будь то скриптинг или интерактивный режим (например автодополнение на удалённом хосте)

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

И на многих серверах вам tmux и zsh встречается? Я вот вижу везде bash, screen(да и то редко)... А учить еще новые шелл/wm ради использования на локалхосте - сомнительно не смотря даже на генту.

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

zsh в целом более удобен

В целом да.

интуитивен

Да-да, особенно вся эта магия с глоббингом. Ну и он слишком перегружен всякими опциями и параметрами.

например автодополнение на удалённом хосте

В bash-completion это есть.

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

у меня на всех серверах встречается tmux и zsh. ЧЯДНТ?

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

А и ладно что тмуксов нету - даже удобнее. В локальном тмуксе можно открывать удаленные скрины, не вызывая перехлёстов с кнопками. Да и без zsh удаленного тоже не страшно. Ну матюкнёшься разок, если там вдруг bash/ksh/sh или еще какая напасть. Все равно их все в какой-то мере знать надо.

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

Все равно их все в какой-то мере знать надо

Дурацкий вопрос: А зачем? Знания POSIX sh сейчас недостаточно для написания переносимого кода?

kim-roader ★★
()
Ответ на: комментарий от kim-roader

Ну я скорее о UI. В скриптах, согласен, специфическими особенностями разных щелей лучше пользоваться по-минимуму.

Lexa
()
Ответ на: комментарий от kim-roader

Знания POSIX sh сейчас недостаточно для написания переносимого кода?

Будь ласка - озвучь где это ты ты переносимые скрипты пишешь.

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

tmux с ним не так.

зачем нужен tmux, когда screen был за 10000 лет до него? плюс у tmux-а неправильная лицензия.

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

например автодополнение на удалённом хосте

В bash-completion это есть.

Не знал, что уже допилили, молодцы
Осталось приделать меню с управлением стрелками, а лучше не догонять, копируя феньки, а обгонять

zolden ★★★★★
()

Пользуясь случаем, как настроить ctrl/alt+arrow keys в urxvt, чтобы они работали как в bash?

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

я ожидал ответ, типа «На АЭС», но твой вариант тоже неплох

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

у tmux-а неправильная лицензия.

Когда коту делать нечего, он свободные лицензии на правильные и неправильные делит по какому-то одному ему ведомому принципу.

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

Пользуясь случаем, как настроить ctrl/alt+arrow keys в urxvt, чтобы они работали как в bash?

У меня так:

bindkey '^[[1;5D' emacs-backward-word
bindkey '^[[1;5C' emacs-forward-word

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

Осталось приделать меню с управлением стрелками

За три с лишним года я не видел ни единого хоть сколько-то значимого изменения в libreadline, так что увы и ах.

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

А с чего ты взял что все должно быть «зачем»? Может быть чисто для красоты... Как, например, гуманитарии... :)

Lexa
()

Наиприятнейшая новость!

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

Отличия от баша в студию.


1. autocd.
2. completion menu navigation.
3. global aliases.
4. realtime appending history (не уверен, возможно в bash есть такое).
5. completion from history after cursor position.

Это навскидку чем я пользуюсь каждый день.

blackst0ne ★★★★★
()
Последнее исправление: blackst0ne (всего исправлений: 1)
Ответ на: комментарий от another

Баш конечно стрелочками выбирать не дает, но по табу дополняет как аргументы, так и их параметры, в том числе дописывает название выбираемого пакета.

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

Так и не смог придумать им применения

##########
# Aliases:
##########

alias calc='libreoffice --calc --nologo'
alias cp='nocorrect cp -irR'
alias df='df -h'
alias draw='libreoffice --draw --nologo'
alias du='du -h'
alias free='nocorrect free -m'
alias grep='egrep --color=auto'
alias h='history'
alias la='ls -hA'
alias less='less -M'
alias li='ls -hial'
alias ll='ls -hl'
alias ls='ls -hF --color=auto'
alias lsa='ls -hld .*'
alias lsd='ls -hld *(-/DN)'
alias mc='mc -u'
alias mkdir='nocorrect mkdir'
alias mv='nocorrect mv -i'
alias ping='grc --colour=auto ping'
alias ps='nocorrect ps auxww'
alias rm='nocorrect rm -i'
alias rmf='nocorrect rm -f'
alias rmrf='nocorrect rm -fR'
alias service='nocorrect sudo rc-service'
alias sudo='nocorrect sudo'
alias top='nocorrect htop'
alias traceroute='grc --colour=auto traceroute'
alias vim='nocorrect vim'
alias writer='libreoffice --writer --nologo'
alias youtube-dl='youtube-dl -t -c'

alias -g G='| grep'
alias -g GI='| grep -i'
alias -g GIR='| grep -ir'
alias -g H='| head'
alias -g L='| less'
alias -g M='| more'
alias -g N='2>/dev/null'
alias -g T='| tail'
alias -g TF='| tail -f'

# Variables for alias -s:

IMAGE_VIEWER='geeqie'
OFFICE_WRITER='libreoffice --writer --nologo'
OFFICE_TABLES='libreoffice --calc --nologo'
PDF_VIEWER='epdfview'
PLAINTEXT_EDITOR='vim'
VIDEO_PLAYER='smplayer'


alias -s asf=$VIDEO_PLAYER
alias -s avi=$VIDEO_PLAYER
alias -s conf=$PLAINTEXT_EDITOR
alias -s divx=$VIDEO_PLAYER
alias -s doc=$OFFICE_WRITER
alias -s docx=$OFFICE_WRITER
alias -s exe='wine'
alias -s flv=$VIDEO_PLAYER
alias -s jpeg=$IMAGE_VIEWER
alias -s jpg=$IMAGE_VIEWER
alias -s mkv=$VIDEO_PLAYER
alias -s mp4=$VIDEO_PLAYER
alias -s mpg=$VIDEO_PLAYER
alias -s ods=$OFFICE_TABLES
alias -s odt=$OFFICE_WRITER
alias -s ogp=$VIDEO_PLAYER
alias -s pdf=$PDF_VIEWER
alias -s png=$IMAGE_VIEWER
alias -s ts=$VIDEO_PLAYER
alias -s vob=$VIDEO_PLAYER
alias -s wmv=$VIDEO_PLAYER
alias -s xls=$OFFICE_TABLES
alias -s xlsx=$OFFICE_TABLES

Пример:

ps G firefox превращается в ps auxww | grep firefox

Можно пример?

Пожалуйста.
1. Набираю: cat ~/.
2. Жму arrow up key.
3. Получаю автодоплнение команд из истории, которые имеют всю левую часть перед курсором. В моём конкретном случае после нажатий на стрелку вверх я получу:

cat ~/.zhistory
cat ~/.config/openbox/autostart.sh
cat ~/.Xresources
cat ~/.Xdefaults
и т.д.

В bash есть похожее - Ctrl + R, но не такое удобное, как в zsh.

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

Получаю автодоплнение команд из истории, которые имеют всю левую часть перед курсором

Как сделано?
Проверь такой вариант
ssh 1.2.3.4
ssh 2.3.4.5

теперь набери ssh 2 и понажимай вверх - будет ли показываться только то, что начинается с ssh 2 или всё, что начинается с ssh?

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

Как сделано?

Проверь такой вариант

ssh 1.2.3.4

ssh 2.3.4.5

теперь набери ssh 2 и понажимай вверх - будет ли показываться только то, что начинается с ssh 2 или всё, что начинается с ssh?


Даже пробовать не буду, отвечу сразу: дополнение работает путём парсинга zhistory.
В приведённом примере команды имеют общую часть «ssh » (с пробелом).
А «ssh 2» имеет только одна команда, её и дополнит.

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

дополнение работает путём парсинга zhistory

Но как именно ты конечно не скажешь, ибо семейный секрет?
Или тебя три раза попросить надо?

У меня на таких биндингах, в указанном сценарии показывается всё, что начинается с ssh
bindkey «\e[5~» history-search-backward
bindkey «\e[6~» history-search-forward

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

Но как именно ты конечно не скажешь, ибо семейный секрет?
Или тебя три раза попросить надо?

У меня на таких биндингах, в указанном сценарии показывается всё, что начинается с ssh
bindkey «\e[5~» history-search-backward
bindkey «\e[6~» history-search-forward

Чтобы сказать как именно это работает, нужно лезть в сырцы. Предлагаю Вам самому посмотреть, т.к. я никогда не интересовался.

Если Вы имелии ввиду под словами «как именно» строчки в конфиге (что не очевидно ни разу), то:

bindkey    "^[[A" history-beginning-search-backward
bindkey -a "^[[A" history-beginning-search-backward
bindkey    "^[[B" history-beginning-search-forward
bindkey -a "^[[B" history-beginning-search-forward

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

видимо, вы имели в виду «функциональность»? а зачем мне сравнивать, когда screen просто работает?

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

Не знаю, как называется по-научному. Например, когда пишешь "./configure --w<Tab>", zsh выводит список реальных доступных опций для этого конкретного configure, а bash не выводит ничего.

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

Скорее всего зависит от конкретного набора скриптов дополнения баша и zsh.

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

Как всегда радуешь меня, Виталий, спасибо за биндинги, а то реально раздражало
Правда не уверен, что это zsh-специфичная фича, тот же Ctrl+R и в баше и в zsh работает

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