mirror of
https://github.com/arcan1s/dotfiles.git
synced 2025-04-24 16:07:17 +00:00
198 lines
5.0 KiB
Bash
198 lines
5.0 KiB
Bash
# history
|
|
HISTFILE=~/.histfile
|
|
HISTSIZE=500000
|
|
SAVEHIST=500000
|
|
|
|
# bindkeys
|
|
bindkey '^[[A' up-line-or-search # up arrow for back-history-search
|
|
bindkey '^[[B' down-line-or-search # down arrow for fwd-history-search
|
|
bindkey ';5D' backward-word # ctrl+left
|
|
bindkey ';5C' forward-word # ctrl+right
|
|
bindkey '\e[1~' beginning-of-line # home
|
|
bindkey '\e[2~' overwrite-mode # insert
|
|
bindkey '\e[3~' delete-char # del
|
|
bindkey '\e[4~' end-of-line # end
|
|
bindkey '\e[5~' up-line-or-history # page-up
|
|
bindkey '\e[6~' down-line-or-history # page-down
|
|
|
|
# autocomplit
|
|
autoload -U compinit promptinit
|
|
compinit
|
|
promptinit
|
|
zstyle ':completion:*' insert-tab false # Автокомплит для первого символа
|
|
zstyle ':completion:*' max-errors 2
|
|
|
|
# autocd
|
|
setopt autocd
|
|
|
|
# correct
|
|
setopt CORRECT_ALL
|
|
SPROMPT="Correct '%R' to '%r' ? ([Y]es/[N]o/[E]dit/[A]bort) "
|
|
|
|
# append history
|
|
setopt APPEND_HISTORY
|
|
|
|
# ignore dups in history
|
|
setopt HIST_IGNORE_ALL_DUPS
|
|
|
|
# ighore additional space in history
|
|
setopt HIST_IGNORE_SPACE
|
|
|
|
# reduce blanks in history
|
|
setopt HIST_REDUCE_BLANKS
|
|
|
|
# =cmd without autocomplit
|
|
unsetopt EQUALS
|
|
|
|
# disable beeps
|
|
unsetopt beep
|
|
|
|
# autoload calc
|
|
autoload zcalc
|
|
|
|
# PROMPT && RPROMPT
|
|
if [[ $EUID == 0 ]]
|
|
then
|
|
# [root@host dir]#
|
|
PROMPT=$'%{\e[1;37m%}[%{\e[1;31m%}%n%{\e[1;37m%}@%{\e[0;31m%}%m %{\e[1;33m%}%1/%{\e[1;37m%}]#%{\e[0m%} '
|
|
else
|
|
# [user@host dir]$
|
|
PROMPT=$'%{\e[1;37m%}[%{\e[1;32m%}%n%{\e[1;37m%}@%{\e[0;32m%}%m %{\e[1;33m%}%1/%{\e[1;37m%}]$%{\e[0m%} '
|
|
fi
|
|
precmd () {
|
|
# Battery charge
|
|
function batcharge {
|
|
bat_perc=`acpi | awk {'print $4;'} | sed -e "s/\s//" -e "s/%.*//"`
|
|
|
|
if [[ $bat_perc < 15 ]]
|
|
then
|
|
col='%{\e[1;31m%}'
|
|
elif [[ $bat_perc < 50 ]]
|
|
then
|
|
col='%{\e[1;33m%}'
|
|
else
|
|
col='%{\e[1;32m%}'
|
|
fi
|
|
|
|
echo '%{\e[1;37m%}['$col$bat_perc'%{\e[1;37m%}%%]%{\e[0m%}'
|
|
}
|
|
RPROMPT=$'%{\e[1;37m%}[%T]%{\e[0m%} '$(batcharge)
|
|
}
|
|
# right prompt with time
|
|
#RPROMPT=$'%{\e[1;37m%}%T, %D%{\e[0m%}'
|
|
|
|
|
|
## alias
|
|
alias grep='grep --colour=auto'
|
|
alias synctime='{ ntpd -qg; hwclock -w; date; }'
|
|
alias top='htop'
|
|
alias chrommsu='chromium --proxy-server=cache.msu:3128'
|
|
alias chromtor='chromium --proxy-server="socks://localhost:9050" --incognito'
|
|
alias chromi2p='chromium --proxy-server="http=http://127.0.0.1:4444;https=https://127.0.0.1:4445" --incognito'
|
|
alias df='df -h'
|
|
alias du='du -c -h'
|
|
alias su='su -'
|
|
|
|
alias ls='ls --color=auto'
|
|
alias ll='ls --group-directories-first -l'
|
|
alias lr='ls -R'
|
|
alias la='ll -A'
|
|
alias lx='ll -BX'
|
|
alias lz='ll -rS'
|
|
alias lt='ll -rt'
|
|
alias lm='la | more'
|
|
|
|
# alias -s
|
|
alias -s {avi,mpeg,mpg,mov,m2v}=mplayer
|
|
alias -s {mp3,flac}=amarok
|
|
alias -s {odt,doc,xls,ppt,docx,xlsx,pptx,csv}=libreoffice
|
|
autoload -U pick-web-browser
|
|
alias -s {html,htm}=opera
|
|
|
|
# function for extract archives
|
|
# EXAMPLE: unpack file
|
|
unpack () {
|
|
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 ;;
|
|
*.tbz) tar -xjvf $1 ;;
|
|
*.tgz) tar xzf $1 ;;
|
|
*.zip) unzip $1 ;;
|
|
*.Z) uncompress $1 ;;
|
|
*.7z) 7z x $1 ;;
|
|
*) echo "I don't know how to extract '$1'..." ;;
|
|
esac
|
|
else
|
|
echo "'$1' is not a valid file"
|
|
fi
|
|
}
|
|
|
|
# function for create archives
|
|
# EXAMPLE: pack tar file
|
|
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 -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
|
|
}
|
|
|
|
# sudo alias
|
|
if [[ $EUID == 0 ]]
|
|
then
|
|
alias fat32mnt='mount -t vfat -o codepage=866,iocharset=utf8,quiet,umask=000'
|
|
# MTS 3G modem
|
|
alias mts_3g='eject /dev/sr1 && sleep 5 && wvdial mts3g & disown'
|
|
alias mp3mount='mtpfs -o allow_other'
|
|
alias kdm='kdm && exit'
|
|
else
|
|
alias fat32mnt='sudo mount -t vfat -o codepage=866,iocharset=utf8,quiet,umask=000'
|
|
alias umount='sudo umount'
|
|
alias mount='sudo mount'
|
|
alias pacman='sudo pacman'
|
|
alias netcfg='sudo netcfg'
|
|
# MTS 3G modem
|
|
alias mts_3g='sudo eject /dev/sr1 && sleep 5 && sudo wvdial mts3g & disown'
|
|
alias desktop='sudo netcfg-menu && sudo systemctl start smbd.service && sudo systemctl start nmbd.service && sudo kdm && exit'
|
|
alias mp3mount='sudo mtpfs -o allow_other'
|
|
alias kdm='sudo kdm && exit'
|
|
fi
|
|
|
|
# global alias
|
|
alias -g g="| grep"
|
|
alias -g l="| less"
|
|
|
|
# pkgfile
|
|
source /usr/share/doc/pkgfile/command-not-found.zsh
|
|
|
|
# editor
|
|
export EDITOR="vim"
|
|
|
|
# hash
|
|
hash -d global=/mnt/global
|
|
hash -d windows=/mnt/windows
|
|
hash -d iso=/mnt/iso
|
|
hash -d u1=/mnt/usbdev1
|
|
hash -d u2=/mnt/usbdev2
|
|
|
|
# umask
|
|
umask 027
|
|
|
|
# path
|
|
export PATH="$PATH:$HOME/bin/"
|