148 lines
3.8 KiB
Bash
148 lines
3.8 KiB
Bash
###### Prompt
|
|
prompt='%F{35}%* [%j] [%m:%F{75}%f%F{69}%c%f%F{35}] %F{black}%K{red}%#%f%k '
|
|
|
|
##### History
|
|
|
|
# Set history file
|
|
HISTFILE=~/.zhistory
|
|
|
|
# Set history size
|
|
HISTSIZE=10000
|
|
|
|
# Set the number of lines in $HISTFILE
|
|
SAVEHIST="${HISTSIZE}"
|
|
|
|
# Enable history search with up and down arrows
|
|
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
|
|
zle -N up-line-or-beginning-search
|
|
zle -N down-line-or-beginning-search
|
|
|
|
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
|
|
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
|
|
|
|
|
|
##### Aliases
|
|
alias ..='cd ..'
|
|
alias ...='cd ../../../'
|
|
alias ....='cd ../../../../'
|
|
alias back='cd $OLDPWD'
|
|
alias c='clear'
|
|
alias cd..='cd ..'
|
|
alias cp='cp -iv'
|
|
alias chmod="chmod -c"
|
|
alias chown="chown -c"
|
|
alias e="vim -O "
|
|
alias E="vim -o "
|
|
alias egrep='egrep --colour=auto'
|
|
alias extip='curl icanhazip.com'
|
|
alias grep='grep --color=auto'
|
|
alias l.='ls -lhFa --time-style=long-iso --color=auto'
|
|
alias ll='ls'
|
|
alias ln='ln -iv'
|
|
alias ls='ls -lhF --color=auto --human-readable --time-style=long-iso --classify'
|
|
alias lsmount='mount |column -t'
|
|
alias mkdir='mkdir -pv'
|
|
alias mv='mv -iv'
|
|
alias ports='netstat -tulanp'
|
|
alias h='history -i'
|
|
alias history='history -i'
|
|
alias j='jobs -l'
|
|
alias rm='rm -iv'
|
|
alias rmdir='rmdir -v'
|
|
alias speedtest='curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -'
|
|
alias ssha='eval $(ssh-agent) && ssh-add'
|
|
alias svim='sudo vim'
|
|
alias tn=' tmux new -s'
|
|
alias wget='wget -c'
|
|
|
|
if command -v colordiff > /dev/null 2>&1; then
|
|
alias diff="colordiff -Nuar"
|
|
else
|
|
alias diff="diff -Nuar"
|
|
fi
|
|
|
|
## get top process eating memory
|
|
alias psmem='ps auxf | sort -nr -k 4'
|
|
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
|
|
|
## get top process eating cpu ##
|
|
alias pscpu='ps auxf | sort -nr -k 3'
|
|
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
|
|
|
|
# Safetynets
|
|
# do not delete / or prompt if deleting more than 3 files at a time #
|
|
alias rm='rm -I --preserve-root'
|
|
|
|
# Parenting changing perms on / #
|
|
alias chown='chown --preserve-root'
|
|
alias chmod='chmod --preserve-root'
|
|
alias chgrp='chgrp --preserve-root'
|
|
|
|
# package management
|
|
alias update='sudo apt-get update'
|
|
alias upgrade='sudo apt-get update && sudo apt-get dist-upgrade'
|
|
alias install='sudo apt-get install'
|
|
|
|
##### Functions
|
|
|
|
# Easily extract archives
|
|
extract () {
|
|
if [ -f $1 ] ; then
|
|
case $1 in
|
|
*.tar.bz2) tar xjvf $1 ;;
|
|
*.tar.gz) tar xzvf $1 ;;
|
|
*.bz2) bzip2 -d $1 ;;
|
|
*.rar) unrar2dir $1 ;;
|
|
*.gz) gunzip $1 ;;
|
|
*.tar) tar xf $1 ;;
|
|
*.tbz2) tar xjf $1 ;;
|
|
*.tgz) tar xzf $1 ;;
|
|
*.zip) unzip2dir $1 ;;
|
|
*.Z) uncompress $1 ;;
|
|
*.7z) 7z x $1 ;;
|
|
*.ace) unace x $1 ;;
|
|
*) echo "'$1' cannot be extracted via extract()" ;;
|
|
esac
|
|
else
|
|
echo "'$1' is not a valid file"
|
|
fi
|
|
}
|
|
|
|
|
|
reload () {
|
|
exec "${SHELL}" "$@"
|
|
}
|
|
|
|
|
|
##### shopt
|
|
|
|
# save timestamp of command and duration
|
|
setopt extended_history
|
|
|
|
# Add commands as they are typed, don't wait until shell exit
|
|
setopt inc_append_history
|
|
|
|
# when trimming history, lose oldest duplicates first
|
|
setopt hist_expire_dups_first
|
|
|
|
# Do not write events to history that are duplicates of previous events
|
|
setopt hist_ignore_dups
|
|
|
|
# remove command line from history list when first character on the line is a space
|
|
setopt hist_ignore_space
|
|
|
|
# When searching history don't display results already cycled through twice
|
|
setopt hist_find_no_dups
|
|
|
|
# don't execute, just expand history
|
|
setopt hist_verify
|
|
|
|
# Stop annoying error when using asterisk in shell commands (i.e. scp server:*.txt .)
|
|
setopt nonomatch
|
|
|
|
# extended globbing, awesome!
|
|
setopt extendedGlob
|
|
|
|
# Turn on command substitution in the prompt (and parameter expansion and arithmetic expansion).
|
|
setopt promptsubst
|