Re: Особенности Zsh

2013-10-14 Пенетрантность Eugene Berdnikov
On Mon, Oct 14, 2013 at 10:15:39AM +0600, Andrey Rahmatullin wrote:
 On Mon, Oct 14, 2013 at 01:04:34AM +0400, Иван Лох wrote:
  On Sun, Oct 13, 2013 at 09:36:39PM +0400, Артём Н. wrote:
   
  if [ -r $a_name ] ; then
 case $a_name in
*.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  ;;
*.tar.gz|*.tgz)tar xvzf  $a_name $*  ;;
  
  Если на клетке слона написано буйвол... file как-то кошернее и надежнее
 Тогда уж давайте вспомним, что tar и сам умеет нужный декомпрессор
 вызывать.

 Что-то с памятью моей стало... напомните, pls, хау.
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131014065433.gy17...@protva.ru



Re: Особенности Zsh

2013-10-14 Пенетрантность Andrey Rahmatullin
On Mon, Oct 14, 2013 at 10:54:33AM +0400, Eugene Berdnikov wrote:
 On Mon, Oct 14, 2013 at 10:15:39AM +0600, Andrey Rahmatullin wrote:
  On Mon, Oct 14, 2013 at 01:04:34AM +0400, Иван Лох wrote:
   On Sun, Oct 13, 2013 at 09:36:39PM +0400, Артём Н. wrote:

   if [ -r $a_name ] ; then
  case $a_name in
 *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  
;;
 *.tar.gz|*.tgz)tar xvzf  $a_name $*  
;;
   
   Если на клетке слона написано буйвол... file как-то кошернее и надежнее
  Тогда уж давайте вспомним, что tar и сам умеет нужный декомпрессор
  вызывать.
  Что-то с памятью моей стало... напомните, pls, хау.
По дефолту.

-- 
WBR, wRAR


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131014070614.ga12...@belkar.wrar.name



Re: Особенности Zsh

2013-10-14 Пенетрантность Eugene Berdnikov
On Mon, Oct 14, 2013 at 01:06:14PM +0600, Andrey Rahmatullin wrote:
 On Mon, Oct 14, 2013 at 10:54:33AM +0400, Eugene Berdnikov wrote:
  On Mon, Oct 14, 2013 at 10:15:39AM +0600, Andrey Rahmatullin wrote:
   On Mon, Oct 14, 2013 at 01:04:34AM +0400, Иван Лох wrote:
On Sun, Oct 13, 2013 at 09:36:39PM +0400, Артём Н. wrote:
 
if [ -r $a_name ] ; then
   case $a_name in
  *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*
   ;;
  *.tar.gz|*.tgz)tar xvzf  $a_name $*
   ;;

Если на клетке слона написано буйвол... file как-то кошернее и надежнее
   Тогда уж давайте вспомним, что tar и сам умеет нужный декомпрессор
   вызывать.
   Что-то с памятью моей стало... напомните, pls, хау.
 По дефолту.

% tar tvf -  xxx.tbz
tar: Архив сжат. Используйте параметр -j

 ЧЯДНТ?
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131014074502.gb17...@protva.ru



Re: Особенности Zsh

2013-10-14 Пенетрантность yuri . nefedov

On Mon, 14 Oct 2013, Eugene Berdnikov wrote:


Тогда уж давайте вспомним, что tar и сам умеет нужный декомпрессор

вызывать.

 Что-то с памятью моей стало... напомните, pls, хау.

По дефолту.


% tar tvf -  xxx.tbz
tar: Архив сжат. Используйте параметр -j

ЧЯДНТ?


 Попробуйте tar tvf xxx.tbz

 Видимо с f - такая особенность поведения.
 И ведь архиватор определяет правильно, а работать не хочет...

  tar --xz -cvf 1.tar.xz Conrad.pdf
  mv 1.tar.xz 1.tbz
  tar -tvf 1.tbz
 -r nefedov/nefedov 6613446 2013-07-27 15:49 Conrad.pdf
  tar -tvf -  1.tbz
 tar: Архив сжат. Используйте параметр -J
  tar -tvJf -  1.tbz
 -r nefedov/nefedov 6613446 2013-07-27 15:49 Conrad.pdf

Ю.


Re: Особенности Zsh

2013-10-14 Пенетрантность alexander barakin (aka sash-kan)
14.10.2013, 12:20, yuri.nefe...@gmail.com yuri.nefe...@gmail.com:
 On Mon, 14 Oct 2013, Eugene Berdnikov wrote:

  Тогда уж давайте вспомним, что tar и сам умеет нужный декомпрессор
  вызывать.
   Что-то с памятью моей стало... напомните, pls, хау.
  По дефолту.
  % tar tvf -  xxx.tbz
  tar: Архив сжат. Используйте параметр -j

  ЧЯДНТ?

   Попробуйте tar tvf xxx.tbz

   Видимо с f - такая особенность поведения.
   И ведь архиватор определяет правильно, а работать не хочет...

http://lists.gnu.org/archive/html/bug-tar/2008-02/msg7.html
пять лет прошло.
но судя по
http://lists.gnu.org/archive/html/bug-tar/2013-10/msg2.html
код до сих пор полируется.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/348591381741...@web3g.yandex.ru



Re: Особенности Zsh

2013-10-14 Пенетрантность Eugene Berdnikov
On Mon, Oct 14, 2013 at 12:20:23PM +0400, yuri.nefe...@gmail.com wrote:
 On Mon, 14 Oct 2013, Eugene Berdnikov wrote:
 
 Тогда уж давайте вспомним, что tar и сам умеет нужный декомпрессор
 вызывать.
  Что-то с памятью моей стало... напомните, pls, хау.
 По дефолту.
 
 % tar tvf -  xxx.tbz
 tar: Архив сжат. Используйте параметр -j
 
 ЧЯДНТ?
 
  Попробуйте tar tvf xxx.tbz

 Ну так если имя файла известно, можно и явно тип сжатия указать.
 Что и было сделано в исходном скрипте.

  Видимо с f - такая особенность поведения.

 Угу, спасибо кривокодерам за недофичу.
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131014090749.ge17...@protva.ru



Re: Особенности Zsh

2013-10-14 Пенетрантность Артём Н.

On 14.10.2013 01:04, Иван Лох wrote:

On Sun, Oct 13, 2013 at 09:36:39PM +0400, Артём Н. wrote:


if [ -r $a_name ] ; then
   case $a_name in
  *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  ;;
  *.tar.gz|*.tgz)tar xvzf  $a_name $*  ;;


Если на клетке слона написано буйвол... file как-то кошернее и надежнее


Да, я уж понял.

Изначально так было. Сделаю лучше функцию, которая совмещает и то, и это.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525c112e.3060...@yandex.ru



Re: Особенности Zsh

2013-10-14 Пенетрантность Артём Н.

Конфиг с исправленными проблемами:
1. Убран алиас, заменяющий ar.
2. Убран вызов ls по Alt+L.
3. Настроен RPROPMT.

#
# Artiom N. Zsh local config file (~/.zshrc).
#

# See also:
#https://github.com/robbyrussell/oh-my-zsh/
#http://pastie.org/1073336
#

# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh

# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to random, it'll load a random theme each
# time that oh-my-zsh is loaded.

# Good themes: gentoo, agnoster, duellj.

ZSH_THEME=gentoo

# Example aliases
# alias zshconfig=mate ~/.zshrc
# alias ohmyzsh=mate ~/.oh-my-zsh

# Set to this to use case-sensitive completion
# CASE_SENSITIVE=true

# Uncomment this to disable bi-weekly auto-update checks
# DISABLE_AUTO_UPDATE=true

# Uncomment to change how often before auto-updates occur? (in days)
# export UPDATE_ZSH_DAYS=13

# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS=true

# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE=true

# Uncomment following line if you want to disable command autocorrection
# DISABLE_CORRECTION=true

# Uncomment following line if you want red dots to be displayed while waiting 
for completion
# COMPLETION_WAITING_DOTS=true

# Uncomment following line if you want to disable marking untracked files under
# VCS as dirty. This makes repository status check for large repositories much,
# much faster.
# DISABLE_UNTRACKED_FILES_DIRTY=true

# Which plugins would you like to load? (plugins can be found in 
~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/

# compleat - Bash-completion.
# debian - aliases to apt-*, dpkg and aptitude. Useful: apt-history, kerndeb.
# emoji-clock - clock. :-)
# encode64 - aliases to base64: e64, d64.
# gem - Ruby gem installer autocompletion.
# git - Git aliases.
# git-extras - Extra Git autocompletion.
# history-substring-search - searh substring in the shell history.
# jump - Easily jump around the file system by manually adding marks.
# kate - alias to kate (and Kate is started silently from console).
# mosh - simply map SSH autocompletion to mosh. No overhead.
# python - pyclean, pyfind, pygrep.
# rand-quote - random quote from http://www.quotationspage.com
#(function `quote`).
# themes - add functions `theme` and `lstheme` for loading and listing
#oh-my-zsh themes.
# torrent - magnet link to torrent file converter
#(function `magnet_to_torrent`).
# urltools - `urldecode` and `urlencode` functions.
# web-search - search from the terminal. Aliases: bing, google, yahoo,
#ddg (for Duckduckgo), wiki, news, youtube, map, image, ducky.

plugins=(colored-man compleat debian emoji-clock encode64 gem \
 git git-extras git-flow git-remote-branch history-substring-search \
 jump kate mosh python rand-quote themes torrent urltools)

# Interesting plugins:
# cp - replace 'cp' to 'rsync'.
# dircycle - cycling through directory stack.
# dirpersist - persistent directory stack.
# extract - extract archives, but I use my own function.
# fbterm - framebuffer terminal. Buggy on NVIDIA.
# git-flow-avh
# gitfast - fast Git autocompletion.
# github.
# gnu-utils - use GNU utilities for replace built-in functions.
# go/golang - Google Go language compiler autocompletion.
# nyan - animated terminal nyan cat.
# pass - password manager.
# per-directory-history - history unique for each directory.
# perl - aliases for Perl.
# pj - simple project manager.
# postgres - aliases for starting/restarting Postgres SQL.
# rails. rails3, rails4 - aliases for Ruby On Rails.
# redis-cli - Redis database client completion.
# rsync - aliases for rsync (rsync-copy, rsync-move, rsync-update,
#rsync-synchronize).
# ruby - aliases: rfind, rgem.
# safe-paste - safe paste text to the X-terminal.
# scala - autocompletion for Scala compiler.
# screen - plugin for GNU Screen.
# sprunge - command line Pastebin (function `sprunge`).
# ssh-agent - wrapper for the SSH autentification agent.
# sublime - set paths for Sublime text editor on MacOS X and add alias `stt`
#on all systems.
# svn  - functions for Subversion (like svn_get_branch_name).
# systemd - add aliases with sudo for the system.d commands (start, stop,
#restart, etc.).
# taskwarrior - console task manager.
# vi-mode - enable handy Vim mode in the terminal.
# vundle - bundle manager for Vim.
# yum - Aliases for Yum commands. For RH-based.

source $ZSH/oh-my-zsh.sh

# Autocompletion.
# Enabled in oh-my-zsh.
# autoload -Uz compinit  compinit

# Enabling user-names completion, disabled in oh-my-zsh.
zstyle -d ':completion:*' users

# Какой-то ненормальный в oh-my-zsh забиндил Alt+L на вызов ls. Убираю.
bindkey -r '\el'
bindkey '\el' down-case-word

# Setting in oh-my-zsh.
# Share history between shells.
#setopt share_history

# Ignore duplicity commands in history.
#setopt hist_ignore_all_dups

# Don't save in history commands, 

Re: Особенности Zsh

2013-10-14 Пенетрантность Артём Н.

Ещё возник вопрос.

Возможно ли сделать регистронезависимое дополнение только для команд,
но не для файлов?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525c3e62.9060...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Michael Shigorin
On Mon, Oct 07, 2013 at 01:01:16PM +0400, Artem Chuprina wrote:
 TAB-дополнение по всему пути (ls /u/s/e/23TAB).
[...]
 help (как правило, man) по Esc-h

Спасибо!

-- 
  WBR, Michael Shigorin / http://altlinux.org
  -- http://opennet.ru / http://anna-news.info


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131013163705.gz28...@osdn.org.ua



Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

On 06.10.2013 12:49, Sohin Vyacheslaw wrote:

как всё получится-поделись плз конфигом...

Скидываю конфиг в аттаче и здесь:
http://pastebin.com/kGs84bmp

Ничего особо навороченного нет (б`ольшая часть переехала с Bash
и находится в виде симлинков в /etc/profile.d/*.zsh).
Используется oh-my-zsh с подключенными плагинами и некоторыми
корректировками поведения в конфиге.

Установка oh-my-zsh:
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | 
sh

Линк на oh-my-zsh:
https://github.com/robbyrussell/oh-my-zsh

Это /etc/zsh/zprofile:
# /etc/zsh/zprofile: system-wide .zprofile file for zsh(1).
#
# This file is sourced only for login shells (i.e. shells
# invoked with - as the first character of argv[0], and
# shells invoked with the -l flag.)
#
# Global Order: zshenv, zprofile, zshrc, zlogin

if [ `id -u` -eq 0 ]; then
   PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
else
   PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
fi
export PATH

if [ `id -u` -eq 0 ]; then
   PS1='# '
else
   PS1='$ '
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.zsh; do
if [ -r $i ]; then
  . $i
fi
  done
  unset i
fi


Почти полностью скопипащен из /etc/profile (не хотелось менять системный).

Алиасы для Zsh (/etc/profile.d/00aliases.zsh):
. /etc/profile.d/00aliases.sh

# Suffix aliases for Zsh.

alias -s {pdf,djvu,chm,fb2,ps}=okular
alias -s {avi,mpeg,mpg,mov,m2v,flv}=mplayer
alias -s {ogg,mp3,wav}=mpg321

alias -s exe=wine

# Suffix aliases for HTML pages and WEB-sites.
autoload -U pick-web-browser
alias -s {html,htm,xhtml,ru,org,net,com}=pick-web-browser


И ещё /etc/profile.d/70archivers.sh (симлинк для Zsh нужен, естественно),
который заменяет функцию из oh-my-zsh плагина extract):
#
# Unpack archives. Functions by `muhas` modified by Artiom N..
#

# Распаковка любого архива (http://muhas.ru/?p=55)
unpack()
{
   if [ $# -lt 1 ]; then
  echo Usage: unpack file [args] 2
  return 1
   fi

   a_name=$1
   extract_dir=$( echo $(basename $a_name) | sed s/\.${1##*.}//g )

   shift

   if [ -f $1 ] ; then
  case $1 in
 *.tar.bz2,*.tbz,*.tbz2)tar xvjf  $a_name $*  ;;
 *.tar.gz,*.tgz)tar xvzf  $a_name $*  ;;
 *.tar.xz)  tar --xz -xvf $a_name $*  ;;
 *.tar.zma,*.tlz)   tar --lzma -xvf   $a_name $*  ;;
 *.bz2) bunzip2   $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.gz)  gunzip$a_name $*  ;;
 *.tar) tar xvf   $a_name $*  ;;
 *.zip) unzip $a_name $*  ;;
 *.Z)   uncompress$a_name $*  ;;
 *.7z)  7za x $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.xz)  unxz  $a_name $*  ;;
 *.arj) arj x $a_name $*  ;;
 *.ace) unace x   $a_name $*  ;;
 *.lzm,*.lzma)  unlzma$a_name $*  ;;
 *.deb)
mkdir -p $extract_dir/control
mkdir -p $extract_dir/data
cd $extract_dir; ar vx ../${1}  
/dev/null
cd control; tar xzvf ../control.tar.gz
cd ../data; tar xzvf ../data.tar.gz
cd ..; rm *.tar.gz debian-binary
cd ..
;;
 *.ar)  ar x  $a_name $*  ;;
 *.cpio,*.rpm)  cpio -i $*   $a_name ;;
 *) echo Cannot unpack '$a_name' $*...;;
  esac
   else
  echo '$1' is not a valid file
   fi
}

# ... и упаковка (http://muhas.ru/?p=55)
pack()
{
   if [ $1 ] ; then
  case $1 in
 tbz) tar cjvf $2.tar.bz2  $2  ;;
 tgz) tar czvf $2.tar.gz   $2  ;;
 tar) tar cpvf $2.tar  $2  ;;
 bz2) bzip $2  ;;
 gz)  gzip -c -9 --best -n $2  $2.gz  ;;
 zip) zip -r $2.zip$2  ;;
 7z)  7z a $2.7z   $2  ;;
 rar) rar a $2.rar $2  ;;
 *)   echo '$1' Cannot be packed via pack()  ;;
  esac
   else
  echo '$1' is not a valid file
   fi
}

alias x=unpack


Функции не проверял: черновой вариант.
#
# Artiom N. Zsh local config file (~/.zshrc).
#

# See also:
#

Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

On 13.10.2013 21:21, Артём Н. wrote:

Функции не проверял: черновой вариант.

В функции накосячил. Зачем скинул не знаю.
Вот исправленный вариант:

#
# Unpack archives. Functions by `muhas` modified by Artiom N..
#

# Распаковка любого архива (http://muhas.ru/?p=55)
unpack()
{
   if [ $# -lt 1 ]; then
  echo Usage: unpack file [args] 2
  return 1
   fi

   a_name=$1
   extract_dir=$( echo $(basename $a_name) | sed s/\.${1##*.}//g )
   shift

   if [ -r $a_name ] ; then
  case $a_name in
 *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  ;;
 *.tar.gz|*.tgz)tar xvzf  $a_name $*  ;;
 *.tar.xz)  tar --xz -xvf $a_name $*  ;;
 *.tar.zma|*.tlz)   tar --lzma -xvf   $a_name $*  ;;
 *.bz2) bunzip2   $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.gz)  gunzip$a_name $*  ;;
 *.tar) tar xvf   $a_name $*  ;;
 *.zip) unzip $a_name $*  ;;
 *.Z)   uncompress$a_name $*  ;;
 *.7z)  7za x $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.xz)  unxz  $a_name $*  ;;
 *.arj) arj x $a_name $*  ;;
 *.ace) unace x   $a_name $*  ;;
 *.lzm|*.lzma)  unlzma$a_name $*  ;;
 *.deb)
mkdir -p $extract_dir/control
mkdir -p $extract_dir/data
cd $extract_dir; ar vx ../${1}  
/dev/null
cd control; tar xzvf ../control.tar.gz
cd ../data; tar xzvf ../data.tar.gz
cd ..; rm *.tar.gz debian-binary
cd ..
;;
 *.ar)  ar x  $a_name $*  ;;
 *.cpio,*.rpm)  cpio -i $*   $a_name ;;
 *) echo Cannot unpack '$a_name' $*...;;
  esac
   else
  echo '$a_name' is not a valid file
   fi
}

# ... и упаковка (http://muhas.ru/?p=55)
pack()
{
   if [ $1 ] ; then
  case $1 in
 tbz) tar cjvf $2.tar.bz2  $2  ;;
 tgz) tar czvf $2.tar.gz   $2  ;;
 tar) tar cpvf $2.tar  $2  ;;
 bz2) bzip $2  ;;
 gz)  gzip -c -9 --best -n $2  $2.gz  ;;
 zip) zip -r $2.zip$2  ;;
 7z)  7z a $2.7z   $2  ;;
 rar) rar a $2.rar $2  ;;
 *)   echo '$1' Cannot be packed via pack()  ;;
  esac
   else
  echo '$1' is not a valid file
   fi
}

alias x=unpack


Распаковка deb взята из oh-my-zsh плагина extract, но мной проверена не была.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525ada27.7050...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Ivan Kovnatsky
 # Распаковка любого архива (http://muhas.ru/?p=55)
 unpack()
 {
if [ $# -lt 1 ]; then
   echo Usage: unpack file [args] 2
   return 1
fi
 
a_name=$1
extract_dir=$( echo $(basename $a_name) | sed s/\.${1##*.}//g )
 
shift
 
if [ -f $1 ] ; then
   case $1 in
  *.tar.bz2,*.tbz,*.tbz2)tar xvjf  $a_name $*  ;;
  *.tar.gz,*.tgz)tar xvzf  $a_name $*  ;;
  *.tar.xz)  tar --xz -xvf $a_name $*  ;;
  *.tar.zma,*.tlz)   tar --lzma -xvf   $a_name $*  ;;
  *.bz2) bunzip2   $a_name $*  ;;
  *.rar) unrar x   $a_name $*  ;;
  *.gz)  gunzip$a_name $*  ;;
  *.tar) tar xvf   $a_name $*  ;;
  *.zip) unzip $a_name $*  ;;
  *.Z)   uncompress$a_name $*  ;;
  *.7z)  7za x $a_name $*  ;;
  *.rar) unrar x   $a_name $*  ;;
  *.xz)  unxz  $a_name $*  ;;
  *.arj) arj x $a_name $*  ;;
  *.ace) unace x   $a_name $*  ;;
  *.lzm,*.lzma)  unlzma$a_name $*  ;;
  *.deb)
 mkdir -p $extract_dir/control
 mkdir -p $extract_dir/data
 cd $extract_dir; ar vx ../${1}  
 /dev/null
 cd control; tar xzvf ../control.tar.gz
 cd ../data; tar xzvf ../data.tar.gz
 cd ..; rm *.tar.gz debian-binary
 cd ..
 ;;
  *.ar)  ar x  $a_name $*  ;;
  *.cpio,*.rpm)  cpio -i $*   $a_name ;;
  *) echo Cannot unpack '$a_name' $*...;;
   esac
else
   echo '$1' is not a valid file
fi
 }
 
 # ... и упаковка (http://muhas.ru/?p=55)
 pack()
 {
if [ $1 ] ; then
   case $1 in
  tbz) tar cjvf $2.tar.bz2  $2  ;;
  tgz) tar czvf $2.tar.gz   $2  ;;
  tar) tar cpvf $2.tar  $2  ;;
  bz2) bzip $2  ;;
  gz)  gzip -c -9 --best -n $2  $2.gz  ;;
  zip) zip -r $2.zip$2  ;;
  7z)  7z a $2.7z   $2  ;;
  rar) rar a $2.rar $2  ;;
  *)   echo '$1' Cannot be packed via pack()  ;;
   esac
else
   echo '$1' is not a valid file
fi
 }

Видел эти функции, не знаю где они изначально появились, когда ковырялся в арче
спер конфиг у какого-то хакера арче, вроде бы codemac, но точно не помню, были
и куски кода phrakture (Aaron Griffin).

Функции крутые, но в свое время отказался от них, чтобы не забывать команд, не
везде есть свой .bashrc/.zshrc под рукой, и потому по памяти можно набирать
unpack/pack, но вывод будет:

--
-bash: unpack: command not found
--

Кстати pack функция изначально называлась _roll_, только что глянул свой
.bashrc, там так и осталась она.


А вот то, что у меня в .zsh/functions лежит еще:
(кстати синтаксис рабочий только в zsh)

--
unpack()
{
local old_dirs current_dirs lower
lower=${(L)1}
old_dirs=( *(N/) )
if [[ $lower == *.tar.gz || $lower == *.tgz ]]; then
tar xvzf $1
elif [[ $lower == *.gz ]]; then
gunzip $1
elif [[ $lower == *.tar.bz2 || $lower == *.tbz ]]; then
tar xvjf $1
elif [[ $lower == *.bz2 ]]; then
bunzip2 $1
elif [[ $lower == *.zip ]]; then
unzip $1
elif [[ $lower == *.rar ]]; then
unrar e $1
elif [[ $lower == *.tar ]]; then
tar xvf $1
elif [[ $lower == *.lha ]]; then
lha e $1
else
print Unknown archive type: $1
return 1
fi
# Change in to the newly created directory, and
# list the directory contents, if there is one.
current_dirs=( *(N/) )
for i in {1..${#current_dirs}}; do
if [[ $current_dirs[$i] != $old_dirs[$i] ]]; then
cd $current_dirs[$i]
break
fi
done
}

это и для баша и для zsh идентично
roll()
{
FILE=$1
case $FILE in
*.tar.bz2) shift  tar cjf $FILE $* ;;
*.tar.gz) shift  tar czf $FILE $* ;;
*.tgz) shift  tar czf $FILE $* ;;
*.zip) shift  zip $FILE $* ;;
*.rar) shift  rar $FILE $* ;;
esac
}
--

-Ivan


signature.asc

Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

Вдогонку:
http://grml.org/zsh/zsh-lovers.html

Man из пакета zsh-lovers.
В /usr/share/doc/zsh-lovers/zsh_people/ находится ещё 100500 разных конфигов для 
Zsh от разных людей.

Кроме того, ещё добавляет в Vim подсветку для Zsh.
Очень стоит поставить пакет вместе с Zsh.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525adf9c.5080...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

On 13.10.2013 21:57, Ivan Kovnatsky wrote:

Видел эти функции, не знаю где они изначально появились, когда ковырялся в арче
спер конфиг у какого-то хакера арче, вроде бы codemac, но точно не помню, были
и куски кода phrakture (Aaron Griffin).

Функции крутые, но в свое время отказался от них, чтобы не забывать команд, не
везде есть свой .bashrc/.zshrc под рукой, и потому по памяти можно набирать
unpack/pack, но вывод будет:

--
-bash: unpack: command not found
--


Косяк исправлен в доброске выше. :-)


Кстати pack функция изначально называлась _roll_, только что глянул свой
.bashrc, там так и осталась она.


А вот то, что у меня в .zsh/functions лежит еще:
(кстати синтаксис рабочий только в zsh)

--
unpack()
{
 local old_dirs current_dirs lower
 lower=${(L)1}
 old_dirs=( *(N/) )
 if [[ $lower == *.tar.gz || $lower == *.tgz ]]; then
 tar xvzf $1
 elif [[ $lower == *.gz ]]; then
 gunzip $1
 elif [[ $lower == *.tar.bz2 || $lower == *.tbz ]]; then
 tar xvjf $1
 elif [[ $lower == *.bz2 ]]; then
 bunzip2 $1
 elif [[ $lower == *.zip ]]; then
 unzip $1
 elif [[ $lower == *.rar ]]; then
 unrar e $1
 elif [[ $lower == *.tar ]]; then
 tar xvf $1
 elif [[ $lower == *.lha ]]; then
 lha e $1
 else
 print Unknown archive type: $1
 return 1
 fi
 # Change in to the newly created directory, and
 # list the directory contents, if there is one.
 current_dirs=( *(N/) )
 for i in {1..${#current_dirs}}; do
 if [[ $current_dirs[$i] != $old_dirs[$i] ]]; then
 cd $current_dirs[$i]
 break
 fi
 done
}

это и для баша и для zsh идентично
roll()
{
 FILE=$1
 case $FILE in
 *.tar.bz2) shift  tar cjf $FILE $* ;;
 *.tar.gz) shift  tar czf $FILE $* ;;
 *.tgz) shift  tar czf $FILE $* ;;
 *.zip) shift  zip $FILE $* ;;
 *.rar) shift  rar $FILE $* ;;
 esac
}
--

-Ivan


Мои лучше. :-) Только LHA ещё надо будет впилить.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525adff3.3060...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

On 13.10.2013 21:57, Ivan Kovnatsky wrote:

old_dirs=( *(N/) )

Да, а это как работает?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525ae05c.2020...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

Вот, более качественный вариант, с учётом вашего скрипта и LHA.
При этом, в основном рабочий. Всё я сейчас проверить не в состоянии, т.к. состояние 
не комильфо.


#
# Unpack archives. Functions by `muhas` modified by Artiom N..
#

# Распаковка любого архива (http://muhas.ru/?p=55)
unpack()
{
   if [ $# -lt 1 ]; then
  echo Usage: unpack file [args] 2
  return 1
   fi

   a_name=$1
   lower_name=$(echo $1 | tr A-Z a-z)
   extract_dir=$( echo $(basename $a_name) | sed s/\.${1##*.}//g )
   shift

   if [ -r $a_name ] ; then
  case $lower_name in
 *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  ;;
 *.tar.gz|*.tgz)tar xvzf  $a_name $*  ;;
 *.tar.xz)  tar --xz -xvf $a_name $*  ;;
 *.tar.zma|*.tlz)   tar --lzma -xvf   $a_name $*  ;;
 *.bz2) bunzip2   $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.gz)  gunzip$a_name $*  ;;
 *.tar) tar xvf   $a_name $*  ;;
 *.zip) unzip $a_name $*  ;;
 *.z)   uncompress$a_name $*  ;;
 *.7z)  7za x $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.xz)  unxz  $a_name $*  ;;
 *.arj) arj x $a_name $*  ;;
 *.ace) unace x   $a_name $*  ;;
 *.lzm|*.lzma)  unlzma$a_name $*  ;;
 *.lha) lha xv$a_name $*  ;;
 *.deb)
mkdir -p $extract_dir/control
mkdir -p $extract_dir/data
cd $extract_dir; ar vx ../${1}  
/dev/null
cd control; tar xzvf ../control.tar.gz
cd ../data; tar xzvf ../data.tar.gz
cd ..; rm *.tar.gz debian-binary
cd ..
;;
 *.ar)  ar vx $a_name $*  ;;
 *.cpio,*.rpm)  cpio -i $*   $a_name ;;
 *) echo Cannot unpack '$a_name' $*...;;
  esac
   else
  echo '$a_name' is not a valid file
   fi
}

# ... и упаковка (http://muhas.ru/?p=55)
pack()
{
   if [ $1 ] ; then
  case $1 in
 tbz) tar cjvf $2.tar.bz2  $2  ;;
 tgz) tar czvf $2.tar.gz   $2  ;;
 tar) tar cpvf $2.tar  $2  ;;
 bz2) bzip $2  ;;
 gz)  gzip -c -9 --best -n $2  $2.gz  ;;
 zip) zip -r $2.zip$2  ;;
 7z)  7z a $2.7z   $2  ;;
 rar) rar a $2.rar $2  ;;
 *)   echo '$1' Cannot be packed via pack()  ;;
  esac
   else
  echo '$1' is not a valid file
   fi
}

alias x=unpack


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525ae238.3040...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

On 13.10.2013 21:57, Ivan Kovnatsky wrote:

-bash: unpack: command not found
А, про это. Я не сразу врубился. _ Есть man, так что для себя я считаю, что не 
стоит себе осложнять жизнь, не используя возможности и запоминая тысячи ненужных 
опций сотен разных, но сходных программ (так и на Zsh не стоило бы переходить, потому 
почти везде Bash-like).



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525ae36b.7080...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

В .zshrc после подгрузки oh-my-zsh следует добавить ещё такие строчки:

# For Debian plugin.
unalias ar


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525aea0c.40...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Артём Н.

Рабочий (надеюсь) вариант функций распаковки:


#
# Unpack archives. Functions by `muhas` modified by Artiom N..
#


alias x=unpack

# Распаковка любого архива (http://muhas.ru/?p=55)
unpack()
{
   if [ $# -lt 1 ]; then
  echo Usage: unpack file [args] 2
  return 1
   fi

   a_name=$1
   lower_name=$(echo $1 | tr A-Z a-z)
   extract_dir=$( echo $(basename $a_name) | sed s/\.${1##*.}//g )
   shift

   if [ -r $a_name ] ; then
  case $lower_name in
 *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  ;;
 *.tar.gz|*.tgz)tar xvzf  $a_name $*  ;;
 *.tar.xz)  tar --xz -xvf $a_name $*  ;;
 *.tar.zma|*.tlz)   tar --lzma -xvf   $a_name $*  ;;
 *.bz2) bunzip2   $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.gz)  gunzip$a_name $*  ;;
 *.tar) tar xvf   $a_name $*  ;;
 *.zip) unzip $a_name $*  ;;
 *.z)   uncompress$a_name $*  ;;
 *.7z)  7za x $a_name $*  ;;
 *.rar) unrar x   $a_name $*  ;;
 *.xz)  unxz  $a_name $*  ;;
 *.arj) arj x $a_name $*  ;;
 *.ace) unace x   $a_name $*  ;;
 *.lzm|*.lzma)  unlzma$a_name $*  ;;
 *.lha) lha xv$a_name $*  ;;
 *.ar)  command ar vx $a_name $*  ;;
 *.cpio)cpio -idv $* $a_name ;;
 *.deb)
mkdir -p $extract_dir/control
mkdir -p $extract_dir/data
cd $extract_dir
command ar vx ../${a_name}  /dev/null
cd control; tar xzvf ../control.tar.gz
cd ../data; tar xzvf ../data.tar.gz
cd ..; rm *.tar.gz debian-binary
cd ..
;;
 *.rpm) mkdir $extract_dir
cd $extract_dir
rpm2cpio ../${a_name}|cpio -idumv $*
cd ..
;;
 *) echo Cannot unpack '$a_name' $*...;;
  esac
   else
  echo '$a_name' is not a valid file
   fi
}

# ... и упаковка (http://muhas.ru/?p=55)
pack()
{
   if [ $1 ] ; then
  case $1 in
 tbz) tar cjvf $2.tar.bz2  $2  ;;
 tgz) tar czvf $2.tar.gz   $2  ;;
 tar) tar cpvf $2.tar  $2  ;;
 bz2) bzip $2  ;;
 gz)  gzip -c -9 --best -n $2  $2.gz  ;;
 zip) zip -r $2.zip$2  ;;
 7z)  7z a $2.7z   $2  ;;
 rar) rar a $2.rar $2  ;;
 *)   echo '$1' Cannot be packed via pack()  ;;
  esac
   else
  echo '$1' is not a valid file
   fi
}




--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525aea61.5010...@yandex.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Иван Лох
On Sun, Oct 13, 2013 at 09:36:39PM +0400, Артём Н. wrote:
 
if [ -r $a_name ] ; then
   case $a_name in
  *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  ;;
  *.tar.gz|*.tgz)tar xvzf  $a_name $*  ;;

Если на клетке слона написано буйвол... file как-то кошернее и надежнее


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131013210434.ga15...@nano.ioffe.rssi.ru



Re: Особенности Zsh

2013-10-13 Пенетрантность Andrey Rahmatullin
On Mon, Oct 14, 2013 at 01:04:34AM +0400, Иван Лох wrote:
 On Sun, Oct 13, 2013 at 09:36:39PM +0400, Артём Н. wrote:
  
 if [ -r $a_name ] ; then
case $a_name in
   *.tar.bz2|*.tbz|*.tbz2)tar xvjf  $a_name $*  ;;
   *.tar.gz|*.tgz)tar xvzf  $a_name $*  ;;
 
 Если на клетке слона написано буйвол... file как-то кошернее и надежнее
Тогда уж давайте вспомним, что tar и сам умеет нужный декомпрессор
вызывать.

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: Особенности Zsh

2013-10-12 Пенетрантность Артём Н.

On 09.10.2013 21:16, sergio wrote:

On 08/10/13 22:48, Oleksandr Gavenko wrote:


** в шаблоне.  Особенно - в комплекте с TAB, которое в данном случае
будет уже не дополнением, а раскрытием шаблона.  Опять же, не знаю,
может, bash уже и научился.




# ksh-88 egrep-style extended pattern matching.
shopt -s extglob

# Enable '**' patttern matching. If the pattern is followed by a /, only dirs 
match.
shopt -s globstar

# Ignore case in glob.
shopt -s nocaseglob



Ну и на этом всё заканчивается, а в zsh можно матчить по типу файла:

% chmod 644 **/*(.)


(.) - это что?


И да, я в курсе, что эта штука навернётся на большом количестве файлов.


В Zsh?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52590a54.5080...@yandex.ru



Re: Особенности Zsh

2013-10-12 Пенетрантность sergio
On 12/10/13 12:37, Артём Н. wrote:

 (.) - это что?

man zshall
/Glob Qualifiers

.  plain files



 И да, я в курсе, что эта штука навернётся на большом количестве файлов.

 В Zsh?

В чём угодно.


-- 
sergio.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5259325f.3050...@sergio.spb.ru



Re: Особенности Zsh

2013-10-12 Пенетрантность Артём Н.

On 12.10.2013 15:28, sergio wrote:

On 12/10/13 12:37, Артём Н. wrote:


(.) - это что?


man zshall

Господи, 16 тысяч строк... O_O


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525941cf.8090...@yandex.ru



Re: Особенности Zsh

2013-10-12 Пенетрантность sergio
On 12/10/13 16:34, Артём Н. wrote:

 Господи, 16 тысяч строк... O_O

26 вообще-то.

-- 
sergio.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52595fd6.3000...@sergio.spb.ru



Re: Особенности Zsh

2013-10-12 Пенетрантность dm.fedorov
2013/10/12 sergio:
 On 12/10/13 16:34, Артём Н. wrote:

 Господи, 16 тысяч строк... O_O

 26 вообще-то.

Зависит от ширины экрана :)


Re: Особенности Zsh

2013-10-10 Пенетрантность Oleksandr Gavenko
On 2013-10-09, Артём Н. wrote:

 On 08.10.2013 22:48, Oleksandr Gavenko wrote:
 # Enable '**' patttern matching. If the pattern is followed by a /, only 
 dirs match.
 shopt -s globstar

 В bash, вроде бы, по умолчанию?

shopt -p - дампит все настройки, help shopt ))

 [ str =~ ext-regex ] вместе с BASH_REMATCH[i] для доступа к группам


 ${parameter/pattern/string} - glob/shell pattern

 Все что нужно для программирования, может синтаксис неприятный...

 И на больш`ую часть всего это нельзя закладываться (на regexp-ы и массивы 
 точно), т.к. башизм.


Дак, если вы zsh - то там тем более непереносимый синтаксис. regex встроеный
в шелл в POSIX не описан... Я к тому что если что есть фичастое у zsh, то это
не синтаксические расширения, а ncurses рюшечки и продвинутые функции при
интерактивной работе.

Многие считают bash достаточно сильным языком. Например система сборки пакетов
Cygwin ports - чисто башевская...

 Для связки Emacs + M-x term - не потребуется ))

 Vim, увы. :-)


Viper? Некоторые в восторге судя по блогозаписям...

Кстати админы кричат что vim везде установлен, а Emacs - нет. Оно то да, но
TRAMP через ssh делает чудные вещи! На крайняк запусть M-x term и в нем ssh...

 # Cycling possible completion forward and backward in place.
 \e[1;3C: menu-complete# M-Right
 \e[1;3D: menu-complete-backward   # M-Left

 в ~/.inputrc.

 Еще ускоряет работу:

 # UP/DOWN filter history by typed string as prefix.
 \e[A: history-search-backward
 \C-p: history-search-backward
 \eOA: history-search-backward
 \e[B: history-search-forward
 \C-n: history-search-forward
 \eOB: history-search-forward

 # Ctrl+Left/Right to move by whole words.
 \e[1;5C: forward-word
 \e[1;5D: backward-word
 # Same with Shift pressed.
 \e[1;6C: forward-word
 \e[1;6D: backward-word

 Хм... В конфиг Bash кину. Кажется, мне надо почитать ман.

Это все в ~/.inputrc.

Но можно сразу в Bash через квотинг:

  bind '\e[A: history-search-backward'

Оч. быстро читаем help bind (запущеное в Bash).

Мои dot-файлы можно подсмотреть тут (я проставлял коментарии по неочевидным
настройкам на ломаном анг):

http://sourceforge.net/u/gavenkoa/skel/ci/default/tree/

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/874n8oua6v@gavenkoa.example.com



Re: Особенности Zsh

2013-10-10 Пенетрантность Oleksandr Gavenko
On 2013-10-09, Артём Н. wrote:

 On 08.10.2013 22:48, Oleksandr Gavenko wrote:
 # Ctrl+Left/Right to move by whole words.
 \e[1;5C: forward-word
 \e[1;5D: backward-word
 # Same with Shift pressed.
 \e[1;6C: forward-word
 \e[1;6D: backward-word

 Кстати, а зачем это? Есть же Alt+b/Alt+f...

Привык по Ctrl+Shift + выделять. А без Shift - перемещаться...

Возможно указаные esc-последовательности для TERM=eterm-color из Emacs M-x term.

Я плохо запоминаю, потому разобрался с инструментарием для копирования.

Запуская bash в Emacs по M-x term получаем работающий readline, включая
bash-completion. Там даже Mc полноценно запускается, aptitude - немного
глючит, ~/.dircolors и grep --color отрабатывают ожидаемо.

По C-c C-j переходишь в режим редактирования буфера - по эмулятору терминала
бродишь как по текстовому файлу. less - не нужен. Копи-пастишь, бегаешь
инкриментным поиском и возвращяешся в режим эмуляции терминала по C-c C-k.

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87y560sv3s@gavenkoa.example.com



Re: Особенности Zsh

2013-10-10 Пенетрантность Oleksandr Gavenko
On 2013-10-09, Ivan Kovnatsky wrote:

 Разнообразные комлишены грузят ведь еще сам шел, он стартует дольше чем
 обычный.  В Дженте мне понравилось, что можно выбирать какие комплишены
 подгружать.

В Bash серии 4.x добавили -D к complete, что означает - забиндить команду по
умолчанию на неизвестную для автокомплита команду.

На этом можно построить framework с отложеной загрузкой модулей
автопродолжений...

Не уверен что это уже реализовано в bash-completion.

А то после установки django его автопродолжалка давала экстра-задержку в 1.5
сек, т.к. загружалась безусловно. А виновника нужно было еще найти для
начала...

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87siw8sur5@gavenkoa.example.com



Re: Особенности Zsh

2013-10-09 Пенетрантность Артём Н.

On 08.10.2013 21:55, alexander barakin (aka sash-kan) wrote:



08.10.2013, 21:09, Артём Н. artio...@yandex.ru:

On 07.10.2013 19:54, sergio wrote:


  On 06/10/13 12:33, Артём Н. wrote:

  1. Узнать у людей её использующих, какие особенности (по сравнению с
  Bash) наиболее удобны, полезны и часто ими используемы.

  zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

  (раскрашивает дополняемые файлы как ls)


Блин. Удобно. Однозначно: в конфиг.


  у меня это было основной причиной перехода на zsh.

  Ну и заодно:

  zstyle ':completion:*' matcher-list
  'm:{[:lower:][:upper:]}={[:upper:][:lower:]}'

  case-insensitive completion, для русских букв, правда, не работает

  zstyle ':completion:*' list-dirs-first true

  Как и в ls, каталоги в начале.

  Хотя не знаю, может в баше это тоже уже всё есть.


Регистронезависимых дополнений в Bash точно нет.


что требуется для рождения мифа?
1. мифотворец
2. его авторитетное мнение

p.s.
$ echo set completion-ignore-case on  ~/.inputrc



Да, моя ошибка. Не дочитал man.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525579ca.1030...@yandex.ru



Re: Особенности Zsh

2013-10-09 Пенетрантность Артём Н.

On 08.10.2013 21:15, dimas wrote:

а зачем нужна аутентификация не по ключу?


Иногда привычнее и удобнее пароль.
К тому же, не везде всё правильно настроено.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52557a3d.5030...@yandex.ru



Re: Особенности Zsh

2013-10-09 Пенетрантность Артём Н.

On 08.10.2013 22:48, Oleksandr Gavenko wrote:

# Enable '**' patttern matching. If the pattern is followed by a /, only dirs 
match.
shopt -s globstar


В bash, вроде бы, по умолчанию?


[ str =~ ext-regex ] вместе с BASH_REMATCH[i] для доступа к группам




${parameter/pattern/string} - glob/shell pattern

Все что нужно для программирования, может синтаксис неприятный...


И на больш`ую часть всего это нельзя закладываться (на regexp-ы и массивы 
точно), т.к. башизм.


Настройки обращения с history (оставление в истории только самого
последнего из одинаковых, что часто сильно сокращает перебор, умение
делить историю между несколькими экземплярами запущенных шеллов).  Опять
же, не знаю, как с этим у bash сегодня.


Есть хак с всовыванием команды history -a в PS1...


Тут уже приводили его.


help (как правило, man) по Esc-h, без стирания набранной части команды
(в смысле, по выходу из man ты получаешь набранную часть команды обратно
в командную строку).


Для связки Emacs + M-x term - не потребуется ))


Vim, увы. :-)


/etc/zshenv и ~/.zshenv, выполняемые при _любом_ запуске шелла (у bash
такого нет).


Ну Bash же создавался как системный шелл и наследует POSIX поведение...

Чего не хватает - графического меню с возможностью ходить стрелочками...
Частично решается:

# Cycling possible completion forward and backward in place.
\e[1;3C: menu-complete# M-Right
\e[1;3D: menu-complete-backward   # M-Left

в ~/.inputrc.

Еще ускоряет работу:

# UP/DOWN filter history by typed string as prefix.
\e[A: history-search-backward
\C-p: history-search-backward
\eOA: history-search-backward
\e[B: history-search-forward
\C-n: history-search-forward
\eOB: history-search-forward

# Ctrl+Left/Right to move by whole words.
\e[1;5C: forward-word
\e[1;5D: backward-word
# Same with Shift pressed.
\e[1;6C: forward-word
\e[1;6D: backward-word


Хм... В конфиг Bash кину. Кажется, мне надо почитать ман.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52557bb7.60...@yandex.ru



Re: Особенности Zsh

2013-10-09 Пенетрантность Артём Н.

On 09.10.2013 01:22, Ivan Kovnatsky wrote:

On Oct 08, 2013 at 13:29, Иван Лох l...@1917.com wrote:

On Tue, Oct 08, 2013 at 02:07:32PM +0400, Vladimir Skubriev wrote:

On 10/08/2013 01:59 PM, Dmitry Derjavin wrote:

Sun, 06 Oct 2013, 12:33, Артём Н.:


Хочется:
1. Узнать у людей её использующих, какие особенности (по сравнению с
Bash) наиболее удобны, полезны и часто ими используемы.

Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.


Нефига се. А я и не знал. )


Так и в bash есть ;)))


В баше многое есть, просто не все хотят дочитать man до конца, и думая а,
пускай за меня все шел делает (утрирую).

Разнообразные комлишены грузят ведь еще сам шел, он стартует дольше чем
обычный.  В Дженте мне понравилось, что можно выбирать какие комплишены
подгружать.

Он очень большой. Но не это важно. Большая часть всего, что прочитано в man-е 
забывается, даже толком не войдя в практику.



Мне эта суета напоминает то, что многие не узнав Дебиан, начинают кричать, что
он неудобен и непрактичен, старый софт (хотя на самом деле не всегда чем
новее версия, тем лучше).


Хе-хе. Знаю некоторых федорятников. :-)


Я ковырялся в zsh, когда юзал Archlinux, но когда понял, что и половину тех
возможностей не использую, -- смело забил.  (очень понравился vim mode, даже
с строкой статуса -- очень круто; в баше такое есть, но не так красиво)

Да, но половина возможностей Zsh - это всё-равно больше, чем половина 
возможностей Bash (я не спорю, что используя Bash на полную возможно 
переплюнуть среднего пользователя Zsh, но попробуйте найти несколько тех, кто 
его использует по полной).



Пока баша хватает с головой, но zsh всегда был интересен. (есть скробблер на
zsh написан, блин, там мего-крутая реализация, на баше такое не напишешь)


В этом случае, лучше не использовать Zsh: слишком редкий интерпретатор.
Если, конечно, пишется не исключительно для себя.



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52557d87.5050...@yandex.ru



Re: Особенности Zsh

2013-10-09 Пенетрантность Артём Н.

On 08.10.2013 22:48, Oleksandr Gavenko wrote:

# Ctrl+Left/Right to move by whole words.
\e[1;5C: forward-word
\e[1;5D: backward-word
# Same with Shift pressed.
\e[1;6C: forward-word
\e[1;6D: backward-word


Кстати, а зачем это? Есть же Alt+b/Alt+f...


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52557e09.1080...@yandex.ru



Re: Особенности Zsh

2013-10-09 Пенетрантность sergio
On 08/10/13 22:48, Oleksandr Gavenko wrote:

 ** в шаблоне.  Особенно - в комплекте с TAB, которое в данном случае
 будет уже не дополнением, а раскрытием шаблона.  Опять же, не знаю,
 может, bash уже и научился.


 # ksh-88 egrep-style extended pattern matching.
 shopt -s extglob
 
 # Enable '**' patttern matching. If the pattern is followed by a /, only dirs 
 match.
 shopt -s globstar
 
 # Ignore case in glob.
 shopt -s nocaseglob


Ну и на этом всё заканчивается, а в zsh можно матчить по типу файла:

% chmod 644 **/*(.)


И да, я в курсе, что эта штука навернётся на большом количестве файлов.

-- 
sergio.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52558f57.3040...@sergio.spb.ru



Re: Особенности Zsh

2013-10-09 Пенетрантность Ivan Kovnatsky

 Он очень большой. Но не это важно. Большая часть всего, что
 прочитано в man-е забывается, даже толком не войдя в практику.

Ну ман для того и создан чтобы периодически заглядывать, даже самые крутые
умам не чуждо очередной раз набрать: $ man bash (или что-то еще другое)


 Да, но половина возможностей Zsh - это всё-равно больше, чем
 половина возможностей Bash (я не спорю, что используя Bash на
 полную возможно переплюнуть среднего пользователя Zsh, но
 попробуйте найти несколько тех, кто его использует по полной).
 
Больше, затем он и был разработан.

 Пока баша хватает с головой, но zsh всегда был интересен. (есть скробблер на
 zsh написан, блин, там мего-крутая реализация, на баше такое не напишешь)
 
 В этом случае, лучше не использовать Zsh: слишком редкий интерпретатор.
 Если, конечно, пишется не исключительно для себя.

называется, кстати, zomg --
http://screenshots.debian.net/screenshots/z/zomg/1979_large.png

-Ivan


signature.asc
Description: Digital signature


Re: Особенности Zsh

2013-10-08 Пенетрантность Dmitry Derjavin
Mon, 07 Oct 2013, 19:17, Артём Н.:

 Общая для всех запущенных копий история команд вместе с автоматическим
 удалением повторов из истории.

[…]

 При этом, во втором по стрелке вверх команды ls не появились.
 ЧЯДНТ? Нужна какая-то настройка?

Нужно Enter нажать во втором.

 Bash умеет или то или другое.
 Первый раз слышу про общую историю в Bash...

shopt -s histappend
export PROMPT_COMMAND=history -a; history -c; history -r; $PROMPT_COMMAND

-- 
~dd


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87eh7wccf2@asia.home.dd



Re: Особенности Zsh

2013-10-08 Пенетрантность Dmitry Derjavin
Sun, 06 Oct 2013, 12:33, Артём Н.:

 Хочется:
 1. Узнать у людей её использующих, какие особенности (по сравнению с
 Bash) наиболее удобны, полезны и часто ими используемы.

Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.

-- 
~dd


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87a9ikccbm@asia.home.dd



Re: Особенности Zsh

2013-10-08 Пенетрантность Vladimir Skubriev

On 10/08/2013 01:59 PM, Dmitry Derjavin wrote:

Sun, 06 Oct 2013, 12:33, Артём Н.:


Хочется:
1. Узнать у людей её использующих, какие особенности (по сравнению с
Bash) наиболее удобны, полезны и часто ими используемы.

Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.


Нефига се. А я и не знал. )

--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5253d964.9070...@skubriev.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Иван Лох
On Tue, Oct 08, 2013 at 02:07:32PM +0400, Vladimir Skubriev wrote:
 On 10/08/2013 01:59 PM, Dmitry Derjavin wrote:
 Sun, 06 Oct 2013, 12:33, Артём Н.:
 
 Хочется:
 1. Узнать у людей её использующих, какие особенности (по сравнению с
 Bash) наиболее удобны, полезны и часто ими используемы.
 Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.
 
 Нефига се. А я и не знал. )

Так и в bash есть ;)))

-- 
Иван Лох


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131008102957.ga12...@nano.ioffe.rssi.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Vladimir Skubriev

On 10/08/2013 02:29 PM, Иван Лох wrote:

On Tue, Oct 08, 2013 at 02:07:32PM +0400, Vladimir Skubriev wrote:

On 10/08/2013 01:59 PM, Dmitry Derjavin wrote:

Sun, 06 Oct 2013, 12:33, Артём Н.:


Хочется:
1. Узнать у людей её использующих, какие особенности (по сравнению с
Bash) наиболее удобны, полезны и часто ими используемы.

Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.


Нефига се. А я и не знал. )

Так и в bash есть ;)))


в 7 debian есть по дефолту ?

я просто не знал.

--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5253e123.5090...@skubriev.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Artem Chuprina
Vladimir Skubriev - Debian-russian@lists.debian.org  @ Tue, 08 Oct 2013 
14:40:35 +0400:

  Хочется:
  1. Узнать у людей её использующих, какие особенности (по сравнению с
  Bash) наиболее удобны, полезны и часто ими используемы.
  Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.
 
  Нефига се. А я и не знал. )
  Так и в bash есть ;)))
 
 VS в 7 debian есть по дефолту ?

 VS я просто не знал.

Я так подозреваю, что это в отдельном пакете bash-completion, который и
включать тоже надо вручную.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87eh7wyqwy@wizzle.ran.pp.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Stanislav Vlasov
8 октября 2013 г., 16:53 пользователь Artem Chuprina r...@ran.pp.ru написал:
  VS в 7 debian есть по дефолту ?

  VS я просто не знал.

 Я так подозреваю, что это в отдельном пакете bash-completion, который и
 включать тоже надо вручную.

Включать - точно не в ручную. Разве что для рута.

$ tail -7 /etc/skel/.bashrc
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
  fi
fi

В squeeze if'ов было поменьше, но тоже подключалось.

-- 
Stanislav


Re: Особенности Zsh

2013-10-08 Пенетрантность Иван Лох
On Tue, Oct 08, 2013 at 02:40:35PM +0400, Vladimir Skubriev wrote:
 
 в 7 debian есть по дефолту ?

Да. То есть у меня scp и rsync дополняются. Правда есть не использовать
shared connection в ssh, то это скорее зло.


-- 
Иван Лох


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131008130447.ga22...@nano.ioffe.rssi.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Артём Н.

On 08.10.2013 13:57, Dmitry Derjavin wrote:

Mon, 07 Oct 2013, 19:17, Артём Н.:


Общая для всех запущенных копий история команд вместе с автоматическим
удалением повторов из истории.


[…]


При этом, во втором по стрелке вверх команды ls не появились.
ЧЯДНТ? Нужна какая-то настройка?


Нужно Enter нажать во втором.


:-) Работает. Спасибо.


Bash умеет или то или другое.

Первый раз слышу про общую историю в Bash...


shopt -s histappend
export PROMPT_COMMAND=history -a; history -c; history -r; $PROMPT_COMMAND


Больше похоже на костыль... Но любопытно.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52543bae.6080...@yandex.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Артём Н.

On 07.10.2013 19:54, sergio wrote:

On 06/10/13 12:33, Артём Н. wrote:


1. Узнать у людей её использующих, какие особенности (по сравнению с
Bash) наиболее удобны, полезны и часто ими используемы.


zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

(раскрашивает дополняемые файлы как ls)


Блин. Удобно. Однозначно: в конфиг.


у меня это было основной причиной перехода на zsh.

Ну и заодно:

zstyle ':completion:*' matcher-list
'm:{[:lower:][:upper:]}={[:upper:][:lower:]}'

case-insensitive completion, для русских букв, правда, не работает

zstyle ':completion:*' list-dirs-first true

Как и в ls, каталоги в начале.


Хотя не знаю, может в баше это тоже уже всё есть.


Регистронезависимых дополнений в Bash точно нет.
И вывода каталогов в начале, скорее всего нет.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52543c42.5050...@yandex.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Артём Н.

On 08.10.2013 13:59, Dmitry Derjavin wrote:

Sun, 06 Oct 2013, 12:33, Артём Н.:


Хочется:
1. Узнать у людей её использующих, какие особенности (по сравнению с
Bash) наиболее удобны, полезны и часто ими используемы.


Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.


В Bash тоже есть. Но толку-то, если аутентификация не по ключу?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52543c6d.1060...@yandex.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Артём Н.

On 08.10.2013 14:53, Artem Chuprina wrote:

Vladimir Skubriev - Debian-russian@lists.debian.org  @ Tue, 08 Oct 2013 
14:40:35 +0400:

   Хочется:
   1. Узнать у людей её использующих, какие особенности (по сравнению с
   Bash) наиболее удобны, полезны и часто ими используемы.
   Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.
  
   Нефига се. А я и не знал. )
   Так и в bash есть ;)))
  
  VS в 7 debian есть по дефолту ?

  VS я просто не знал.

Я так подозреваю, что это в отдельном пакете bash-completion, который и
включать тоже надо вручную.



Давно уже автоматом.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52543c97.9030...@yandex.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Артём Н.

On 08.10.2013 15:01, Stanislav Vlasov wrote:

8 октября 2013 г., 16:53 пользователь Artem Chuprina r...@ran.pp.ru написал:

  VS в 7 debian есть по дефолту ?

  VS я просто не знал.

Я так подозреваю, что это в отдельном пакете bash-completion, который и
включать тоже надо вручную.


Включать - точно не в ручную. Разве что для рута.

$ tail -7 /etc/skel/.bashrc
if ! shopt -oq posix; then
   if [ -f /usr/share/bash-completion/bash_completion ]; then
 . /usr/share/bash-completion/bash_completion
   elif [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
   fi
fi

В squeeze if'ов было поменьше, но тоже подключалось.


Ой, ой...
/etc/profile:
...
if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
  . $i
fi
  done
  unset i
fi

---
artiom@dana:~$ ls /etc/profile.d/bash_completion.sh
/etc/profile.d/bash_completion.sh


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52543cfc.3030...@yandex.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность dimas
а зачем нужна аутентификация не по ключу?


2013-281 21:10 Артём Н. artio...@yandex.ru wrote:
 On 08.10.2013 13:59, Dmitry Derjavin wrote:
  Sun, 06 Oct 2013, 12:33, Артём Н.:
 
  Хочется:
  1. Узнать у людей её использующих, какие особенности (по сравнению с
  Bash) наиболее удобны, полезны и часто ими используемы.
 
  Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.
 
 В Bash тоже есть. Но толку-то, если аутентификация не по ключу?
 
 


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131008211508.37d20...@ulf.tvoe.tv



Re: Особенности Zsh

2013-10-08 Пенетрантность alexander barakin (aka sash-kan)


08.10.2013, 21:09, Артём Н. artio...@yandex.ru:
 On 07.10.2013 19:54, sergio wrote:

  On 06/10/13 12:33, Артём Н. wrote:
  1. Узнать у людей её использующих, какие особенности (по сравнению с
  Bash) наиболее удобны, полезны и часто ими используемы.
  zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

  (раскрашивает дополняемые файлы как ls)

 Блин. Удобно. Однозначно: в конфиг.

  у меня это было основной причиной перехода на zsh.

  Ну и заодно:

  zstyle ':completion:*' matcher-list
  'm:{[:lower:][:upper:]}={[:upper:][:lower:]}'

  case-insensitive completion, для русских букв, правда, не работает

  zstyle ':completion:*' list-dirs-first true

  Как и в ls, каталоги в начале.

  Хотя не знаю, может в баше это тоже уже всё есть.

 Регистронезависимых дополнений в Bash точно нет.

что требуется для рождения мифа?
1. мифотворец
2. его авторитетное мнение

p.s.
$ echo set completion-ignore-case on  ~/.inputrc


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/28961381254...@web11h.yandex.ru



Re: Особенности Zsh

2013-10-08 Пенетрантность Oleksandr Gavenko
On 2013-10-07, Artem Chuprina wrote:

 Артём Н. - debian-russian@lists.debian.org  @ Sun, 06 Oct 2013 12:33:32 
 +0400:

  АН 1. Узнать у людей её использующих, какие особенности (по сравнению с 
 Bash)
  АН наиболее удобны, полезны и часто ими используемы.

 TAB-дополнение по всему пути (ls /u/s/e/23TAB).  Часто бывает полезно,
 когда надо добраться до файла, а в пути много шагов, и на многих из них
 нужно много набирать, чтобы обеспечить уникальность.

В Bash нет прямого аналога. Разве что

shopt -s cdspell

или самописный модуль комплита...

 ** в шаблоне.  Особенно - в комплекте с TAB, которое в данном случае
 будет уже не дополнением, а раскрытием шаблона.  Опять же, не знаю,
 может, bash уже и научился.


# ksh-88 egrep-style extended pattern matching.
shopt -s extglob

# Enable '**' patttern matching. If the pattern is followed by a /, only dirs 
match.
shopt -s globstar

# Ignore case in glob.
shopt -s nocaseglob

 for f in *; do echo ../orig/${f/-r./.}; done

 (часть реальной командной строки, из history) и прочие преобразования со
 значениями переменных.  Они у zsh богаче, чем у bash.

${VAR%pat}, ${VAR#pat} - в POSIX

[ str =~ ext-regex ] вместе с BASH_REMATCH[i] для доступа к группам

${parameter/pattern/string} - glob/shell pattern

Все что нужно для программирования, может синтаксис неприятный...

 Настройки обращения с history (оставление в истории только самого
 последнего из одинаковых, что часто сильно сокращает перебор, умение
 делить историю между несколькими экземплярами запущенных шеллов).  Опять
 же, не знаю, как с этим у bash сегодня.

Есть хак с всовыванием команды history -a в PS1...

А так я в одном шеле history -a, а в другом history -n

 help (как правило, man) по Esc-h, без стирания набранной части команды
 (в смысле, по выходу из man ты получаешь набранную часть команды обратно
 в командную строку).

Для связки Emacs + M-x term - не потребуется ))

 /etc/zshenv и ~/.zshenv, выполняемые при _любом_ запуске шелла (у bash
 такого нет).

Ну Bash же создавался как системный шелл и наследует POSIX поведение...

Чего не хватает - графического меню с возможностью ходить стрелочками...
Частично решается:

# Cycling possible completion forward and backward in place.
\e[1;3C: menu-complete# M-Right
\e[1;3D: menu-complete-backward   # M-Left

в ~/.inputrc.

Еще ускоряет работу:

# UP/DOWN filter history by typed string as prefix.
\e[A: history-search-backward
\C-p: history-search-backward
\eOA: history-search-backward
\e[B: history-search-forward
\C-n: history-search-forward
\eOB: history-search-forward

# Ctrl+Left/Right to move by whole words.
\e[1;5C: forward-word
\e[1;5D: backward-word
# Same with Shift pressed.
\e[1;6C: forward-word
\e[1;6D: backward-word

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87pprf7g5y@gavenkoa.example.com



Re: Особенности Zsh

2013-10-08 Пенетрантность Oleksandr Gavenko
On 2013-10-08, Dmitry Derjavin wrote:

 Bash умеет или то или другое.
 Первый раз слышу про общую историю в Bash...

 shopt -s histappend
 export PROMPT_COMMAND=history -a; history -c; history -r; $PROMPT_COMMAND

Не знаю как у zsh, но у bash это приводит к записи в файл. Некошерно как то.

Хотя я подумываю что перфоманс человека важнее...

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87li237g1x@gavenkoa.example.com



Re: Особенности Zsh

2013-10-08 Пенетрантность Ivan Kovnatsky
 
  Прочесть man и найти там то, что нужно. Либо три часа спрашивать на улице
  прохожих, не знет ли кто что происходит при нажатии ctrl-o в баше? :-)

Ты застопоришь их мысли надолго :-)
Блин, но мысль интересная..

-Ivan


signature.asc
Description: Digital signature


Re: Особенности Zsh

2013-10-08 Пенетрантность Ivan Kovnatsky
On Oct 08, 2013 at 13:29, Иван Лох l...@1917.com wrote:
 On Tue, Oct 08, 2013 at 02:07:32PM +0400, Vladimir Skubriev wrote:
  On 10/08/2013 01:59 PM, Dmitry Derjavin wrote:
  Sun, 06 Oct 2013, 12:33, Артём Н.:
  
  Хочется:
  1. Узнать у людей её использующих, какие особенности (по сравнению с
  Bash) наиболее удобны, полезны и часто ими используемы.
  Ещё, конечно, дополнение путей на удалённых узлах по ssh, scp, rsync.
  
  Нефига се. А я и не знал. )
 
 Так и в bash есть ;)))
 
В баше многое есть, просто не все хотят дочитать man до конца, и думая а,
пускай за меня все шел делает (утрирую).

Разнообразные комлишены грузят ведь еще сам шел, он стартует дольше чем
обычный.  В Дженте мне понравилось, что можно выбирать какие комплишены
подгружать.

Мне эта суета напоминает то, что многие не узнав Дебиан, начинают кричать, что
он неудобен и непрактичен, старый софт (хотя на самом деле не всегда чем
новее версия, тем лучше).

Я ковырялся в zsh, когда юзал Archlinux, но когда понял, что и половину тех
возможностей не использую, -- смело забил.  (очень понравился vim mode, даже
с строкой статуса -- очень круто; в баше такое есть, но не так красиво)

Пока баша хватает с головой, но zsh всегда был интересен. (есть скробблер на
zsh написан, блин, там мего-крутая реализация, на баше такое не напишешь)

-Ivan


signature.asc
Description: Digital signature


Re: Особенности Zsh

2013-10-07 Пенетрантность Artem Chuprina
Артём Н. - debian-russian@lists.debian.org  @ Sun, 06 Oct 2013 12:33:32 +0400:

 АН 1. Узнать у людей её использующих, какие особенности (по сравнению с Bash)
 АН наиболее удобны, полезны и часто ими используемы.

TAB-дополнение по всему пути (ls /u/s/e/23TAB).  Часто бывает полезно,
когда надо добраться до файла, а в пути много шагов, и на многих из них
нужно много набирать, чтобы обеспечить уникальность.

Когда я переходил с bash на zsh (тому больше 10 лет) он еще кучу
настроек умел на тему дополнения, которых не было у bash.  Сейчас,
возможно, они у bash уже есть.

** в шаблоне.  Особенно - в комплекте с TAB, которое в данном случае
будет уже не дополнением, а раскрытием шаблона.  Опять же, не знаю,
может, bash уже и научился.

for f in *; do echo ../orig/${f/-r./.}; done

(часть реальной командной строки, из history) и прочие преобразования со
значениями переменных.  Они у zsh богаче, чем у bash.

Настройки обращения с history (оставление в истории только самого
последнего из одинаковых, что часто сильно сокращает перебор, умение
делить историю между несколькими экземплярами запущенных шеллов).  Опять
же, не знаю, как с этим у bash сегодня.

help (как правило, man) по Esc-h, без стирания набранной части команды
(в смысле, по выходу из man ты получаешь набранную часть команды обратно
в командную строку).

/etc/zshenv и ~/.zshenv, выполняемые при _любом_ запуске шелла (у bash
такого нет).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/8738od315v@wizzle.ran.pp.ru



Re: Особенности Zsh

2013-10-07 Пенетрантность Dmitry Derjavin
Sun, 06 Oct 2013, 12:33, Артём Н.:

 Нахваливали Zsh, я посмотрел, мне понравилось

[…]

 Хочется:
 1. Узнать у людей её использующих, какие особенности (по сравнению с
 Bash) наиболее удобны, полезны и часто ими используемы.

Общая для всех запущенных копий история команд вместе с автоматическим
удалением повторов из истории. Bash умеет или то или другое.

-- 
~dd


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/8761t9dusn@asia.home.dd



Re: Особенности Zsh

2013-10-07 Пенетрантность Артём Н.

On 07.10.2013 18:23, Dmitry Derjavin wrote:

Sun, 06 Oct 2013, 12:33, Артём Н.:


Нахваливали Zsh, я посмотрел, мне понравилось


[…]


Хочется:
1. Узнать у людей её использующих, какие особенности (по сравнению с
Bash) наиболее удобны, полезны и часто ими используемы.


Общая для всех запущенных копий история команд вместе с автоматическим
удалением повторов из истории.


Да, про это читал. Но не заметил. :-(
Сейчас запустил два zsh (у меня shell ещё Bash, потому что надо перезапускать 
X-ы, чтобы он поменялся, а не очень хочется: я уже подзабыл о перезапусках), как 
zsh -l.

В первом набрал:
artiom@dana:~$ ls lalala 


⏎ 0
ls: невозможно получить доступ к lalala: Нет такого файла или каталога
artiom@dana:~$ ls . 


⏎ 2
bin  Desktop  Distr ...

При этом, во втором по стрелке вверх команды ls не появились.
ЧЯДНТ?
Нужна какая-то настройка?

 Bash умеет или то или другое.
Первый раз слышу про общую историю в Bash...


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5252d09d.90...@yandex.ru



Re: Особенности Zsh

2013-10-07 Пенетрантность Артём Н.

On 07.10.2013 13:01, Artem Chuprina wrote:
 Артём Н. - debian-russian@lists.debian.org  @ Sun, 06 Oct 2013 12:33:32 
+0400:

   АН 1. Узнать у людей её использующих, какие особенности (по сравнению с 
Bash)
   АН наиболее удобны, полезны и часто ими используемы.

 TAB-дополнение по всему пути (ls /u/s/e/23TAB).  Часто бывает полезно,
 когда надо добраться до файла, а в пути много шагов, и на многих из них
 нужно много набирать, чтобы обеспечить уникальность.

Кстати, из не дополнения, но возможностей cd мне показалась возможность перейти в сходный каталог в другом 
каталоге.

Т.е.:
artiom@dana:/usr/bin$ cd /usr/local/bin
artiom@dana:/usr/local/bin$ cd local .
/usr/bin
artiom@dana:/usr/bin$

Кстати, в Bash есть коррекция путей (сам недавно узнал, разбираясь в Zsh):
artiom@dana:~$ cd /home/vachines
/home/vmachines
artiom@dana:/home/vmachines$

Но такого мощного автодополнения нет.

 Когда я переходил с bash на zsh (тому больше 10 лет) он еще кучу
 настроек умел на тему дополнения, которых не было у bash.  Сейчас,
 возможно, они у bash уже есть.

 ** в шаблоне.  Особенно - в комплекте с TAB, которое в данном случае
 будет уже не дополнением, а раскрытием шаблона.  Опять же, не знаю,
 может, bash уже и научился.
ls **/* работает в Bash: перечисляет содержимое вложенных каталогов.
TAB не раскрывает ничего.

 for f in *; do echo ../orig/${f/-r./.}; done

 (часть реальной командной строки, из history) и прочие преобразования со
 значениями переменных.  Они у zsh богаче, чем у bash.

Со встроенными regexp я пока не разбирался... Любопытно.

 Настройки обращения с history (оставление в истории только самого
 последнего из одинаковых, что часто сильно сокращает перебор, умение
 делить историю между несколькими экземплярами запущенных шеллов).  Опять
 же, не знаю, как с этим у bash сегодня.
Насчёт деления истории: у меня почему-то не работает. См. в ответе рядом.
Что требуется настроить?


 help (как правило, man) по Esc-h, без стирания набранной части команды
 (в смысле, по выходу из man ты получаешь набранную часть команды обратно
 в командную строку).

О, полезно. Man спрашивает запустить. Удобно, спасибо.

 /etc/zshenv и ~/.zshenv, выполняемые при _любом_ запуске шелла (у bash
 такого нет).
Хм... Кстати, не факт, что пользовательский .zshenv - это плюс.
А что если надо запустить чистый шелл?

А oh-my-zsh пользуетесь?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5252d49f.7010...@yandex.ru



Re: Особенности Zsh

2013-10-07 Пенетрантность sergio
On 06/10/13 12:33, Артём Н. wrote:

 1. Узнать у людей её использующих, какие особенности (по сравнению с
 Bash) наиболее удобны, полезны и часто ими используемы.

zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

(раскрашивает дополняемые файлы как ls)

у меня это было основной причиной перехода на zsh.

Ну и заодно:

zstyle ':completion:*' matcher-list
'm:{[:lower:][:upper:]}={[:upper:][:lower:]}'

case-insensitive completion, для русских букв, правда, не работает

zstyle ':completion:*' list-dirs-first true

Как и в ls, каталоги в начале.


Хотя не знаю, может в баше это тоже уже всё есть.

-- 
sergio.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5252d939.9090...@sergio.spb.ru



Re: Особенности Zsh

2013-10-06 Пенетрантность Sohin Vyacheslaw
06.10.2013 11:33, Артём Н. пишет:
 Нахваливали Zsh, я посмотрел, мне понравилось (особенно менюшка для
 автодополнений, нерегистрозависимое автодополнение команд и умный cd,
 приглашение справа и, конечно, OhMy Zsh).
 Перешёл.
 
 Хочется:
 1. Узнать у людей её использующих, какие особенности (по сравнению с
 Bash) наиболее удобны, полезны и часто ими используемы.
 2. Получить подсказку. Образовалась, пока что, пара проблем:
1. Не работает дополнение до домашнего каталога. Т.е. в Bash: ~vmaTab
   дополняло мне до ~/vmachines. В Zsh не работает. :-( Как сделать?
2. Не работает Ctrl+O. Просто выполняет команду с очисткой. Как сделать?
 

давно сам хотел перейти, z-имеется в виду круче некуда (последняя буква
алфавита)?

в GRML кстати zsh по-дефолту:
http://grml.org/zsh/

как всё получится-поделись плз конфигом...

--
BW

Сохин Вячеслав



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52512436.4080...@yandex.ua



Re: Особенности Zsh

2013-10-06 Пенетрантность Eugene Berdnikov
On Sun, Oct 06, 2013 at 12:33:32PM +0400, Артём Н. wrote:
1. Не работает дополнение до домашнего каталога. Т.е. в Bash: ~vmaTab
   дополняло мне до ~/vmachines. В Zsh не работает. :-( Как сделать?

 Всё работает: ~/vmaTAB - дополнение до каталога под текущим юзером,
 ~vmaTAB - дополнение до домашнего каталога юзера, имя которого
 начинается на vma.

 В bash ~vmaTAB работает (или не работает) точно так же. В этом плане
 оба шелла совершенно идентичны, за исключением того, что zsh кэширует
 все пути и потому работает заметно быстрее когда путей очень много.

2. Не работает Ctrl+O. Просто выполняет команду с очисткой. Как сделать?

 Прочесть man и найти там то, что нужно. Либо три часа спрашивать на улице
 прохожих, не знет ли кто что происходит при нажатии ctrl-o в баше? :-)
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131006095530.ge3...@sie.protva.ru



Re: Особенности Zsh

2013-10-06 Пенетрантность Артём Н.

On 06.10.2013 13:55, Eugene Berdnikov wrote:

On Sun, Oct 06, 2013 at 12:33:32PM +0400, Артём Н. wrote:

1. Не работает дополнение до домашнего каталога. Т.е. в Bash: ~vmaTab
   дополняло мне до ~/vmachines. В Zsh не работает. :-( Как сделать?


  Всё работает: ~/vmaTAB - дополнение до каталога под текущим юзером,

Да, это работает нормально.


  ~vmaTAB - дополнение до домашнего каталога юзера, имя которого
  начинается на vma.

А это нет.
Ни ls ~vmaTAB (права есть), ни ls ~artTAB.
Впрочем, я уже понял почему: какая-то настройка в OhMy Zsh.
Остаётся выяснить какая...


  В bash ~vmaTAB работает (или не работает) точно так же. В этом плане
  оба шелла совершенно идентичны, за исключением того, что zsh кэширует
  все пути и потому работает заметно быстрее когда путей очень много.

В Bash работает: ls ~artTAB раскрывается. И в чистом Zsh тоже.




2. Не работает Ctrl+O. Просто выполняет команду с очисткой. Как сделать?


  Прочесть man и найти там то, что нужно. Либо три часа спрашивать на улице
  прохожих, не знет ли кто что происходит при нажатии ctrl-o в баше? :-)


Что происходит в Bash я знаю и сам. :-)
Ман zshzle километровый. А мне, на данный момент, нужно всего одно сочетание.
Постепенно займусь более плотным изучением.

Ctrl+O выполняет команду, но не стирает её из командной строки.
В Zsh не работает и с выключенным OhMy Zsh.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/525177e7.5070...@yandex.ru



Re: Особенности Zsh

2013-10-06 Пенетрантность Артём Н.

On 06.10.2013 12:49, Sohin Vyacheslaw wrote:

06.10.2013 11:33, Артём Н. пишет:

Нахваливали Zsh, я посмотрел, мне понравилось (особенно менюшка для
автодополнений, нерегистрозависимое автодополнение команд и умный cd,
приглашение справа и, конечно, OhMy Zsh).
Перешёл.

Хочется:
1. Узнать у людей её использующих, какие особенности (по сравнению с
Bash) наиболее удобны, полезны и часто ими используемы.
2. Получить подсказку. Образовалась, пока что, пара проблем:
1. Не работает дополнение до домашнего каталога. Т.е. в Bash: ~vmaTab
   дополняло мне до ~/vmachines. В Zsh не работает. :-( Как сделать?
2. Не работает Ctrl+O. Просто выполняет команду с очисткой. Как сделать?



давно сам хотел перейти, z-имеется в виду круче некуда (последняя буква
алфавита)?

в GRML кстати zsh по-дефолту:
http://grml.org/zsh/

как всё получится-поделись плз конфигом...

Ok.
Конфиг, в основном - OhMy Zsh. :-)

https://github.com/robbyrussell/oh-my-zsh

Есть ещё некие скрипты и фенечки в пакете zsh-lovers, которые я за компанию 
установил, но пока ещё не использовал и не разбирался...



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52517893.7070...@yandex.ru