# Настройки цветов ##################################################### #Color table from: http://www.understudy.net/custom.html # Set up the prompt fg_white=%{$'\e[1;37m'%} fg_lcyan=%{$'\e[1;36m'%} fg_pink=%{$'\e[1;35m'%} fg_lblue=%{$'\e[1;34m'%} fg_yellow=%{$'\e[1;33m'%} fg_lgreen=%{$'\e[1;32m'%} fg_lred=%{$'\e[1;31m'%} fg_dgray=%{$'\e[1;30m'%} fg_lgray=%{$'\e[0;37m'%} fg_cyan=%{$'\e[0;36m'%} fg_purple=%{$'\e[0;35m'%} fg_blue=%{$'\e[0;34m'%} fg_brown=%{$'\e[0;33m'%} fg_green=%{$'\e[0;32m'%} fg_red=%{$'\e[0;31m'%} fg_black=%{$'\e[0;30m'%} #Attributes at_strikeoff=%{$'\e[29m'%} at_reverseoff=%{$'\e[27m'%} at_blinkoff=%{$'\e[25m'%} at_underloff=%{$'\e[24m'%} at_italicsoff=%{$'\e[23m'%} at_boldoff=%{$'\e[22m'%} at_strike=%{$'\e[9m'%} at_nondisp=%{$'\e[8m'%} at_reverse=%{$'\e[7m'%} at_outline=%{$'\e[6m'%} at_blink=%{$'\e[5m'%} at_underl=%{$'\e[4m'%} at_italics=%{$'\e[3m'%} at_bold=%{$'\e[1m'%} at_normal=%{$'\e[0m'%} #Text Background Colors bg_gray=%{$'\e[0;47m'%} bg_cyan=%{$'\e[0;46m'%} bg_purple=%{$'\e[0;45m'%} bg_blue=%{$'\e[0;44m'%} bg_brown=%{$'\e[0;43m'%} bg_green=%{$'\e[0;42m'%} bg_red=%{$'\e[0;41m'%} # Разукрашивание ошибок alias -g ERR='2>>( sed -ue "s/.*/$fg_bold[red]&$reset_color/" 1>&2 )' if [ -x /usr/bin/dircolors ]; then #test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dirc$ alias ls='ls --color=auto -F' alias dir='dir --color=auto -F' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi # Разукрашиваем некоторые команды с помощью grc [[ -f /usr/bin/grc ]] && { alias ping="grc --colour=auto ping" alias traceroute="grc --colour=auto traceroute" alias make="grc --colour=auto make" alias diff="grc --colour=auto diff" alias cvs="grc --colour=auto cvs" alias netstat="grc --colour=auto netstat" } # Разукрашиваем логи с помощью grc alias logc="grc cat" alias logt="grc tail" alias logh="grc head" ######################################################################## # Приглашение интерпретатора команд #################################### if [ $UID = "0" ]; then PROMPT=" ${fg_lred}%n${fg_lblue}@${at_underl}%m${at_underloff}${fg_white}[${fg_cyan}%~${fg_white}] [${fg_green}%T${fg_white}] # ${at_normal}" else PROMPT=" ${fg_lblue}%n@${at_underl}%m${at_underloff}${fg_white}[${fg_cyan}%~${fg_white}] [${fg_green}%T${fg_white}] %# ${at_normal}" fi ######################################################################## setopt histignorealldups sharehistory # В файле ~/.zsh_history сохраняется 1000 строк истории команд HISTSIZE=1000 SAVEHIST=1000 HISTFILE=~/.zsh_history # Последние комманды в начале файла и не хранить дубликаты setopt histexpiredupsfirst histfindnodups # Переход в каталог без команды cd setopt AUTO_CD # Установка атрибутов доступа для вновь создаваемых файлов (владелец без ограничений, группа и остальные запрет на запись) umask 022 # Игнорировать лишние пробелы setopt HIST_IGNORE_SPACE # Не пищать при дополнении или ошибках setopt NO_BEEP # Исправлять неверно набранные комманды setopt CORRECT_ALL # zsh будет обращаться с пробелами так же, как и bash setopt SH_WORD_SPLIT # Использовать современную систему автодополнения autoload -Uz compinit compinit # Не считать Control+C за выход из оболочки #setopt IGNORE_EOF # Редактор по дефолту export EDITOR=vim # Переименование-перемещение c пogтвepжgeнueм без коррекции alias mv='nocorrect mv -i' # Рекурсивное копирование с подтверждением без коррекции alias cp='nocorrect cp -iR' # Удаление с подтверждением без коррекции alias rm='nocorrect rm -i' # Принудимтельное удаление без коррекции alias rmf='nocorrect rm -f' # Принудительное рекурсивное удаление без коррекции alias rmrf='nocorrect rm -fR' # Создание каталогов без коррекции alias mkdir='nocorrect mkdir' zstyle ':completion:*' auto-description 'specify: %d' zstyle ':completion:*' completer _expand _complete _correct _approximate zstyle ':completion:*' format 'Completing %d' zstyle ':completion:*' group-name '' zstyle ':completion:*' menu select=2 eval "$(dircolors -b)" zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-colors '' zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*' zstyle ':completion:*' menu select=long zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s zstyle ':completion:*' use-compctl false zstyle ':completion:*' verbose true zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd' # Открытие файлов в нужном приложении просто по имени alias -s {pdf,djvu}="nohup evince" alias -s {avi,mpeg,mpg,mov,m2v,flv}="nohup gnome-mplayer" alias -s {zip,fb2}=fbless alias -s txt=$PAGER alias -s py=python alias -s {ogg,mp3,wav,wma}="nohup deadbeef" alias -s {xls,xlsx,doc,docx,rtf,ppt,pptx,odt,sxw}="nohup soffice" alias -s {png,gif,jpg,jpeg}="nohup gthumb" ##### Архивирование #################################################### # распаковка архива extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *.tbz) tar xjvf ;; *) echo "я не в курсе как распаковать '$1'..." ;; esac else echo "'$1' is not a valid file" fi } # упаковка в архив pk () { 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) bzip2 $2 ;; gz) gzip -c -9 -n $2 > $2.gz ;; zip) zip -r $2.zip $2 ;; 7z) 7z a $2.7z $2 ;; *) echo "'$1' cannot be packed via pk()" ;; esac else echo "'$1' is not a valid file" fi } ########################################################################