initial commit
This commit is contained in:
parent
19f5ee6619
commit
54dadbb996
2 changed files with 298 additions and 0 deletions
297
.zshrc
Normal file
297
.zshrc
Normal file
|
@ -0,0 +1,297 @@
|
|||
#######################################################
|
||||
####### Anarchy ZSH configuration file #######
|
||||
#######################################################
|
||||
|
||||
### Set/unset ZSH options
|
||||
#########################
|
||||
# setopt NOHUP
|
||||
# setopt NOTIFY
|
||||
# setopt NO_FLOW_CONTROL
|
||||
setopt INC_APPEND_HISTORY SHARE_HISTORY
|
||||
setopt APPEND_HISTORY
|
||||
# setopt AUTO_LIST
|
||||
# setopt AUTO_REMOVE_SLASH
|
||||
# setopt AUTO_RESUME
|
||||
unsetopt BG_NICE
|
||||
setopt CORRECT
|
||||
setopt EXTENDED_HISTORY
|
||||
# setopt HASH_CMDS
|
||||
setopt MENUCOMPLETE
|
||||
setopt ALL_EXPORT
|
||||
|
||||
### Set/unset shell options
|
||||
############################
|
||||
setopt notify globdots correct pushdtohome cdablevars autolist
|
||||
setopt correctall autocd recexact longlistjobs
|
||||
setopt autoresume histignoredups pushdsilent
|
||||
setopt autopushd pushdminus extendedglob rcquotes mailwarning
|
||||
unsetopt bgnice autoparamslash
|
||||
|
||||
### Autoload zsh modules when they are referenced
|
||||
#################################################
|
||||
autoload -U history-search-end
|
||||
zmodload -a zsh/stat stat
|
||||
zmodload -a zsh/zpty zpty
|
||||
zmodload -a zsh/zprof zprof
|
||||
#zmodload -ap zsh/mapfile mapfile
|
||||
zle -N history-beginning-search-backward-end history-search-end
|
||||
zle -N history-beginning-search-forward-end history-search-end
|
||||
|
||||
### Set variables
|
||||
#################
|
||||
PATH="/usr/local/bin:/usr/local/sbin/:$PATH"
|
||||
HISTFILE=$HOME/.zhistory
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
LS_COLORS='rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:';
|
||||
|
||||
### Load colors
|
||||
###############
|
||||
autoload colors zsh/terminfo
|
||||
if [[ "$terminfo[colors]" -ge 8 ]]; then
|
||||
colors
|
||||
fi
|
||||
for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
|
||||
eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
|
||||
eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
|
||||
(( count = $count + 1 ))
|
||||
done
|
||||
|
||||
### Set Colors to use in in the script
|
||||
#############
|
||||
# Normal Colors
|
||||
Black='\e[0;30m' # Black
|
||||
Red='\e[0;31m' # Red
|
||||
Green='\e[0;32m' # Green
|
||||
Yellow='\e[0;33m' # Yellow
|
||||
Blue='\e[0;34m' # Blue
|
||||
Purple='\e[0;35m' # Purple
|
||||
Cyan='\e[0;36m' # Cyan
|
||||
White='\e[0;37m' # White
|
||||
|
||||
# Bold
|
||||
BBlack='\e[1;30m' # Black
|
||||
BRed='\e[1;31m' # Red
|
||||
BGreen='\e[1;32m' # Green
|
||||
BYellow='\e[1;33m' # Yellow
|
||||
BBlue='\e[1;34m' # Blue
|
||||
BPurple='\e[1;35m' # Purple
|
||||
BCyan='\e[1;36m' # Cyan
|
||||
BWhite='\e[1;37m' # White
|
||||
|
||||
# Background
|
||||
On_Black='\e[40m' # Black
|
||||
On_Red='\e[41m' # Red
|
||||
On_Green='\e[42m' # Green
|
||||
On_Yellow='\e[43m' # Yellow
|
||||
On_Blue='\e[44m' # Blue
|
||||
On_Purple='\e[45m' # Purple
|
||||
On_Cyan='\e[46m' # Cyan
|
||||
On_White='\e[47m' # White
|
||||
|
||||
NC="\e[m" # Color Reset
|
||||
|
||||
### Set prompt
|
||||
##############
|
||||
PR_NO_COLOR="%{$terminfo[sgr0]%}"
|
||||
PS1="[%(!.${PR_RED}%n.$PR_LIGHT_YELLOW%n)%(!.${PR_LIGHT_YELLOW}@.$PR_RED@)$PR_NO_COLOR%(!.${PR_LIGHT_RED}%U%m%u.${PR_LIGHT_GREEN}%U%m%u)$PR_NO_COLOR:%(!.${PR_RED}%2c.${PR_BLUE}%2c)$PR_NO_COLOR]%(?..[${PR_LIGHT_RED}%?$PR_NO_COLOR])%(!.${PR_LIGHT_RED}#.${PR_LIGHT_GREEN}$) "
|
||||
RPS1="$PR_LIGHT_YELLOW(%D{%m-%d %H:%M})$PR_NO_COLOR"
|
||||
unsetopt ALL_EXPORT
|
||||
|
||||
### set common functions
|
||||
#############
|
||||
|
||||
function my_ip() # Get IP adress.
|
||||
{
|
||||
curl ifconfig.co
|
||||
}
|
||||
|
||||
# Find a file with a pattern in name:
|
||||
function ff()
|
||||
{
|
||||
find . -type f -iname '*'"$*"'*' -ls ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function sysinfo() # Get current host related info.
|
||||
{
|
||||
echo -e "\n${BRed}System Informations:$NC " ; uname -a
|
||||
echo -e "\n${BRed}Online User:$NC " ; w -hs |
|
||||
cut -d " " -f1 | sort | uniq
|
||||
echo -e "\n${BRed}Date :$NC " ; date
|
||||
echo -e "\n${BRed}Server stats :$NC " ; uptime
|
||||
echo -e "\n${BRed}Memory stats :$NC " ; free
|
||||
echo -e "\n${BRed}Public IP Address :$NC " ; my_ip
|
||||
echo -e "\n${BRed}Open connections :$NC "; netstat -pan --inet;
|
||||
echo -e "\n${BRed}CPU info :$NC "; cat /proc/cpuinfo ;
|
||||
echo -e "\n"
|
||||
}
|
||||
|
||||
function extract {
|
||||
if [ -z "$1" ]; then
|
||||
# display usage if no parameters given
|
||||
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
|
||||
else
|
||||
if [ -f $1 ] ; then
|
||||
# NAME=${1%.*}
|
||||
# mkdir $NAME && cd $NAME
|
||||
case $1 in
|
||||
*.tar.bz2) tar xvjf ../$1 ;;
|
||||
*.tar.gz) tar xvzf ../$1 ;;
|
||||
*.tar.xz) tar xvJf ../$1 ;;
|
||||
*.lzma) unlzma ../$1 ;;
|
||||
*.bz2) bunzip2 ../$1 ;;
|
||||
*.rar) unrar x -ad ../$1 ;;
|
||||
*.gz) gunzip ../$1 ;;
|
||||
*.tar) tar xvf ../$1 ;;
|
||||
*.tbz2) tar xvjf ../$1 ;;
|
||||
*.tgz) tar xvzf ../$1 ;;
|
||||
*.zip) unzip ../$1 ;;
|
||||
*.Z) uncompress ../$1 ;;
|
||||
*.7z) 7z x ../$1 ;;
|
||||
*.xz) unxz ../$1 ;;
|
||||
*.exe) cabextract ../$1 ;;
|
||||
*) echo "extract: '$1' - unknown archive method" ;;
|
||||
esac
|
||||
else
|
||||
echo "$1 - file does not exist"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Creates an archive (*.tar.gz) from given directory.
|
||||
function maketar() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; }
|
||||
|
||||
# Create a ZIP archive of a file or folder.
|
||||
function makezip() { zip -r "${1%%/}.zip" "$1" ; }
|
||||
|
||||
|
||||
function my_ps() { ps $@ -u $USER -o pid,%cpu,%mem,bsdtime,command ; }
|
||||
|
||||
mcd () {
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
}
|
||||
|
||||
### Set alias
|
||||
#############
|
||||
alias cls="clear"
|
||||
alias ..="cd .."
|
||||
alias cd..="cd .."
|
||||
alias ll="ls -lisa --color=auto"
|
||||
alias home="cd ~"
|
||||
alias df="df -ahiT --total"
|
||||
alias mkdir="mkdir -pv"
|
||||
alias mkfile="touch"
|
||||
alias rm="rm -rfi"
|
||||
alias userlist="cut -d: -f1 /etc/passwd"
|
||||
alias ls="ls -CF --color=auto"
|
||||
alias lsl="ls -lhFA | less"
|
||||
alias free="free -mt"
|
||||
alias du="du -ach | sort -h"
|
||||
alias ps="ps auxf"
|
||||
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
|
||||
alias wget="wget -c"
|
||||
alias histg="history | grep"
|
||||
alias myip="curl http://ipecho.net/plain; echo"
|
||||
alias logs="find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f"
|
||||
alias folders='find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn'
|
||||
alias grep='grep --color=auto'
|
||||
|
||||
|
||||
### Bind keys
|
||||
#############
|
||||
autoload -U compinit
|
||||
compinit
|
||||
bindkey "^?" backward-delete-char
|
||||
bindkey '^[OH' beginning-of-line
|
||||
bindkey '^[OF' end-of-line
|
||||
bindkey '^[[5~' up-line-or-history
|
||||
bindkey '^[[6~' down-line-or-history
|
||||
bindkey "^[[A" history-beginning-search-backward-end
|
||||
bindkey "^[[B" history-beginning-search-forward-end
|
||||
bindkey "^r" history-incremental-search-backward
|
||||
bindkey ' ' magic-space # also do history expansion on space
|
||||
bindkey '^I' complete-word # complete on tab, leave expansion to _expand
|
||||
zstyle ':completion::complete:*' use-cache on
|
||||
zstyle ':completion::complete:*' cache-path ~/.zsh/cache/$HOST
|
||||
|
||||
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||||
zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s'
|
||||
zstyle ':completion:*' menu select=1 _complete _ignored _approximate
|
||||
zstyle -e ':completion:*:approximate:*' max-errors \
|
||||
'reply=( $(( ($#PREFIX+$#SUFFIX)/2 )) numeric )'
|
||||
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
|
||||
|
||||
# Completion Styles
|
||||
|
||||
# list of completers to use
|
||||
zstyle ':completion:*::::' completer _expand _complete _ignored _approximate
|
||||
|
||||
# allow one error for every three characters typed in approximate completer
|
||||
zstyle -e ':completion:*:approximate:*' max-errors \
|
||||
'reply=( $(( ($#PREFIX+$#SUFFIX)/2 )) numeric )'
|
||||
|
||||
# insert all expansions for expand completer
|
||||
zstyle ':completion:*:expand:*' tag-order all-expansions
|
||||
|
||||
# formatting and messages
|
||||
zstyle ':completion:*' verbose yes
|
||||
zstyle ':completion:*:descriptions' format '%B%d%b'
|
||||
zstyle ':completion:*:messages' format '%d'
|
||||
zstyle ':completion:*:warnings' format 'No matches for: %d'
|
||||
zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
|
||||
zstyle ':completion:*' group-name ''
|
||||
|
||||
# match uppercase from lowercase
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
|
||||
# offer indexes before parameters in subscripts
|
||||
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
|
||||
|
||||
# command for process lists, the local web server details and host completion
|
||||
# on processes completion complete all user processes
|
||||
zstyle ':completion:*:processes' command 'ps -au$USER'
|
||||
|
||||
## add colors to processes for kill completion
|
||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
|
||||
|
||||
#zstyle ':completion:*:processes' command 'ps -o pid,s,nice,stime,args'
|
||||
#zstyle ':completion:*:urls' local 'www' '/var/www/htdocs' 'public_html'
|
||||
#
|
||||
#NEW completion:
|
||||
# 1. All /etc/hosts hostnames are in autocomplete
|
||||
# 2. If you have a comment in /etc/hosts like #%foobar.domain,
|
||||
# then foobar.domain will show up in autocomplete!
|
||||
zstyle ':completion:*' hosts $(awk '/^[^#]/ {print $2 $3" "$4" "$5}' /etc/hosts | grep -v ip6- && grep "^#%" /etc/hosts | awk -F% '{print $2}')
|
||||
# Filename suffixes to ignore during completion (except after rm command)
|
||||
zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \
|
||||
'*?.old' '*?.pro'
|
||||
# the same for old style completion
|
||||
#fignore=(.o .c~ .old .pro)
|
||||
|
||||
# ignore completion functions (until the _ignored completer)
|
||||
zstyle ':completion:*:functions' ignored-patterns '_*'
|
||||
zstyle ':completion:*:*:*:users' ignored-patterns \
|
||||
adm apache bin daemon games gdm halt ident junkbust lp mail mailnull \
|
||||
named news nfsnobody nobody nscd ntp operator pcap postgres radvd \
|
||||
rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs avahi-autoipd\
|
||||
avahi backup messagebus beagleindex debian-tor dhcp dnsmasq fetchmail\
|
||||
firebird gnats haldaemon hplip irc klog list man cupsys postfix\
|
||||
proxy syslog www-data mldonkey sys snort
|
||||
# SSH Completion
|
||||
zstyle ':completion:*:scp:*' tag-order \
|
||||
files users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
|
||||
zstyle ':completion:*:scp:*' group-order \
|
||||
files all-files users hosts-domain hosts-host hosts-ipaddr
|
||||
zstyle ':completion:*:ssh:*' tag-order \
|
||||
users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
|
||||
zstyle ':completion:*:ssh:*' group-order \
|
||||
hosts-domain hosts-host users hosts-ipaddr
|
||||
zstyle '*' single-ignored show
|
||||
|
||||
### Source plugins
|
||||
##################
|
||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
1
README.md
Normal file
1
README.md
Normal file
|
@ -0,0 +1 @@
|
|||
# Dotfiles
|
Loading…
Add table
Reference in a new issue