Posts Tagged ‘ zsh ’

python: bash-completion

http://ag-up.com
bash-complition офигенный пакетик при использовании которого вы сможете с помощью TAB‘а видеть/выбирать опции, которые предоставляет ПО.
В gentoo он ставится так: emerge -q gentoo-bashcomp, в других дистрибутивах ищите сами как.
А вот скрипт который выручит человека и сделает из него обезьяну(т.е. освободит от работы) и подключит bash-completion для всего ПО, которое позволяет это сделать:


#!/usr/bin/python
import os,re
os.system("eselect bashcomp list > /tmp/eselect")
line = open('/tmp/eselect','r').readlines()[-1]
regexp = re.search('[0-9].{2}',line)
for i in xrange(1,int(regexp.group(0))):
    os.system("eselect bashcomp enable --global "+str(i))
print "that's all"

PS: bash-completion является дополнялкой не только для bash-шелла, но и для zsh и др.

Реклама

system: zsh for all

Настраивал на FreeBSD 8
Если мы хотим чтобы все пользователи, которые будут созданы в системе по дефолту в виде шелла имели zsh и определенный конфиг, то делаем следующее:

Выбираем дефолтный шелл + чуток настроек(всё-таки пишу я этот блог для себя).
cat > /etc/adduser.conf
passwdtype=yes
homeprefix=/home
defaultshell=/usr/local/bin/zsh

Далее берем свой конфиг и делаем его дефолтным для всех:
cp ~/.zshrc /etc/zshrc

По идее и всё, но! при создании нового юзера будет выскакивать приглашение для настройки zsh, чего нам абсолютно не надо, исправляем мы это так:
cat > /usr/share/skel/dot.zshrc
Теперь при создании юзера у него в каталоге будет появляться данный конфиг-файл .zshrc и автоконфигуратор не будет запускаться.

Shell: zshrc

1) apt-get install zsh or emerge -q zsh
2) touch > ~/.zshrc

3) nano /etc/zsh/zshrc


PATH="${PATH}:/usr/local/bin:"
export EDITOR=/bin/nano
autoload colors
colors
autoload -U compinit
compinit
setopt autocd
setopt No_Beep
setopt CORRECT_ALL
setopt APPEND_HISTORY
setopt HIST_IGNORE_SPACE
setopt HIST_REDUCE_BLANKS
setopt HIST_IGNORE_ALL_DUPS
HISTFILE=~/.zhistory
SAVEHIST=5000
HISTSIZE=5000
#PS1='[%T]%n@%d# '
autoload -U predict-on
zle -N predict-on
zle -N predict-off
bindkey "^X^Z" predict-on
bindkey "^Z" predict-off
alias game="nocorrect game"
alias ls="ls -FG --color=auto"
alias la="ls -lahFG  --color=auto"
alias grep="grep --color=auto -iRnH"
alias vlc='export XLIB_SKIP_ARGB_VISUALS=1; vlc; unset XLIB_SKIP_ARGB_VISUALS'
alias skype='export XLIB_SKIP_ARGB_VISUALS=1; skype; unset XLIB_SKIP_ARGB_VISUALS'
hosts=('local.kss45.ru' localhost awork ns1 ask)
zstyle ':completion:*:hosts' hosts $hosts
zstyle ':completion:*:(ssh|scp):*' tag-order '! users'
manpath="/usr/share/man:/usr/local/man:/usr/X11R6/man"
export MANPATH
zmodload zsh/complist

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

3) vipw
И правите строку с вашим юзером, если быть точнее то меняете ему шелл
Если не понимаете как, то обратитесь к документации по vim

4) Перелогиниваетесь и радуетесь.