Видео ролики бесплатно онлайн

Смотреть русский видео

Официальный сайт all-remont 24/7/365

Смотреть видео бесплатно

Посты с тегом zsh
blackraven 05.08.2011 02:09

Есть вопрос!Zsh - хочу невозможного?

Привет народонаселение!

Вопрос возник такой... Я человек сильно ленивый, и иногда бывают случаи, что нужно прочитать файл в папке, которую только что от-ls-ил. В этом случае нужно нажать стрелку вверх, и исправить команду в начале строки. (ну и допечатать/дотабать имя файла).
Я конечно понимаю, что это - три клавиши (в моем случае - исправить ll на l, то есть Ctrl+A и Del), но хочется и этого избежать...
Можно ли нарисовать алиас (или функцию) в zsh, которая бы сама думала, чего я хочу сделать? Т.е. чтобы когда я говорю:
1
$ l /home/blackraven
- она мне выводила вывод ll,

а когда я говорю
1
$ l /home/blackraven/.xsession-errors
- делала less?

ЗЫ да, я гуглил. С ходу ничего не нашел - или не придумал, что именно гуглить...
Полностью.
+ 2 -
19
kstep 07.04.2011 15:12

VimZsh-like автодополнение имён файлов в Vim-е

Только что набросал этот скриптик и спешу им поделиться с общественностью. Пишу на бегу, т.к. надо работать, но не поделиться не могу =)

Полностью.
+ 5 -
8
BrokenBrake 03.08.2010 22:36

Мой конфигФайл .zshrc с русскими комментариями на каждую опцию

Я сделал это! http://pastie.org/1073336

Прошу дополнять в том же формате, а то пока явно недостаток информации по Zsh на русском языке. Многие строчки в чужих .zshrc нифига не понятны.

Комментарии к этому .zshrc будут не только здесь, но и у меня в блоге.
+ 6 -
27
razum2um 18.06.2010 20:53

КриокамераФильтрованное tab-completion

С некоторых пор очень привязался к терминалу и появилась идейка:
как бы организовать фильтрацию tab-competition в зависимости от набранной команды

допустим:
набрал python (или р, ибо алиасы) и по табу предлагаются только ассоциированные файлы *.py
набрал mplayer (pl соответственно ;) и по табу предлагается только мультимедия


Zsh/bash - некритично.
Если будут идеи на ipython - только приветствуется.
Предложения рассортировать хомяк и навести порядок будут игнорироваться ;)
+ 0 -
0
Boga 21.05.2010 10:54

Есть проблема!Tmux via zsh

День добрый.
Использую zsh ( ~/.zshrc ). Начинаю использовать tmux.
Проблема в том, что стандартный для тмукса хоткей Ctrl-b zsh не воспринимает 0_о
Среди биндкеев его нет; куда смотреть, что править?
PS Да, zshrc корявый, я в курсе.
+ 0 -
2
m0nhawk 21.04.2010 20:23

Мой конфигМои 3 конфига (xcompose, zsh, screen)

Внутри xcompose, zsh и screen…
Полностью.
+ 6 -
9
SIO 17.02.2010 18:20

Tips & tricksZsh: скринсейвер в шелле

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

Итак, приступим. За костыли просьба сильно не пинать ^_^

В zsh есть такая полезная переменная окружения как TMOUT. Цитата из man zshall:

TMOUT If this parameter is nonzero, the shell will receive an ALRM
signal if a command is not entered within the specified number
of seconds after issuing a prompt. If there is a trap on
SIGALRM, it will be executed and a new alarm is scheduled using
the value of the TMOUT parameter after executing the trap. If
no trap is set, and the idle time of the terminal is not less
than the value of the TMOUT parameter, zsh terminates. Other?
wise a new alarm is scheduled to TMOUT seconds after the last
keypress.




Т.е. через $TMOUT секунд бездействия шеллу будет передан сигнал ALRM. А на этот сигнал мы уже и можем поставить trap с каким угодно содержанием.

Казалось бы, вот оно, решение. Но что-то пошло не так.. Или руки у меня кривые, или звезды не так встали, или мы с авторами мана просто друг друга не поняли, но работало оно как описано в мане только если trap не была установлена. Если же trap была задана, zsh выполнял ее ровно через $TMOUT секунд после выполнения последней команды, а не после последнего нажатия клавиши, как должно быть в соответствии с моим пониманием мануала.

Вот тут и начинается мое главное костылестроение

Если фича работает как-то - это уже лучше, чем если бы она не работала никак, правда ведь? О:-) Ну я и приспособил ее к своим нуждам с использованием второй переменной окружения: TTYIDLE (она показывает время бездействия терминала в секундах, и как раз обнуляется при каждом нажатии клавиши). Простенькое сравнение времени простоя с эталоном, и в благоприятном случае - запуск нашего скринсейвера. Вот и всё.

Окончательный вариант (кусок ~/.zshrc) выглядит примерно так:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TMOUT=60
#~ Каждые 60 секунд после ввода последней команды будет срабатывать SIGALRM
#~ (trap 14) и будет проверяться условие

IDLELIMIT=360
#~ IDLELIMIT - максимальная величина idle к моменту проверки (замените на
#~ удобное вам значение в секундах)

trap 'screensaver' 14
screensaver()
{
if [ $TTYIDLE -ge $IDLELIMIT ]
then
#~ ↓↓↓Замените этот блок на собственный ↓↓↓
watch -n 1 tail -n 3 /var/log/wimax
echo -ne "\e[1;34;49m[$USER] \e[1;32;49m$PWD# \e[0m"
#~ ↑↑↑ Замените этот блок на собственный ↑↑↑
fi
}

Если вы не хотите, чтобы эта "красота" распространялась не на все сессии zsh - закомментируйте строку с TMOUT в zshrc и передавайте его по отдельности только нужным сессиям. У меня, к примеру, скринсейвер будет только в терминале стартующем вместе с WM, и терминалах, запускающихся из меню, но шеллы в IDE, файловом менеджере и tty-консолях "засыпать" не будут =)

А уж что выбрать в качестве "заставки" пусть подскажет ваша фантазия :) Как вариант: слежение за логами беспроводного соединения (представлено в примере выше), запуск ncmpc для слежения за mpd, запуск cacafire просто для красоты..
Полностью.
+ 11 -
11
22.11.2009 00:22

Minoru — ZSH: делаем второй шаг

Когда-то давно я перевёл статейку о ZSH и запостил её тут. Недавно перенёс её в свой блог, где статья обрела второе дыхание, а в комментариях всплыло требование рассказать о zsh ещё раз, но уже с уклоном в практику. Сиё требование я с радостью и осуществляю :)

Статья построена на кусках моего конфига с мелкими вкраплениями лирических отступлений.
Полностью.
+ 9 -
2
kstep 19.10.2009 19:02

Tips & tricksZsh-алиасы — find ещё проще

Я очень часто использую связку find и grep для сложного поиска по файлам.
Полностью.
+ 8 -
5
kstep 19.10.2009 18:19

Tips & tricksТекущая ревизия svn и git в приглашении zsh

Вот такая-вот функция прописывается в ~/.zshrc:

1
2
3
4
5
6
7
8
9
function vcs_head()
{
   if << -d ./.svn >>; then
           svn info | awk -v FS=": " '/URL:/ { url=$2 } /Repository Root:/ { baseurl=$2 } /Revision:/ { rev=$2 } END { branch = substr(url, length(baseurl) + 2); if (match(branch, /^(trunk|branches\/<^\ />+|tags\/<^\ />+)/) &gt; 0) { branch = substr(branch, RSTART, RLENGTH) "-"; sub(/^branches/, "b", branch); sub(/^tags/, "t", branches) } else { branch = "" }; print "@" branch "r" rev }'
   else
           gitref=`(git symbolic-ref HEAD || git rev-parse --short HEAD) 2&gt; /dev/null | sed -e 's#refs/heads/##'`
           << -n $gitref >> && echo -n "@$gitref"
   fi
}



Моё разукрашенное приглашение:

1
export PROMPT=$'%{\e<1;32m%}%n@%{\e<1;34m%}%m:%{\e<1;35m%}%l%{\e<1;31m%}%5(~.&lt;.)%4~%{\e<0;36m%}`vcs_head`%{\e<0m%}%{\e<1;36m%}%# %{\e<0m%}'


Ключевой момент тут (если убрать все разукраски):

export PROMPT='%l@%m%~%@`vcs_head`%# '

Выглядит это так:

Полностью.
+ 7 -
5
1 2

Смотреть видео онлайн

Онлайн видео бесплатно