1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-11-16 20:11:11 +00:00
prezto/modules/utility/init.zsh

208 lines
5.1 KiB
Bash
Raw Normal View History

2012-02-01 04:37:51 +00:00
#
2012-06-03 18:02:05 +00:00
# Defines general aliases and functions.
2012-02-01 04:37:51 +00:00
#
# Authors:
# Robby Russell <robby@planetargon.com>
# Suraj N. Kurapati <sunaku@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
2012-06-03 18:02:05 +00:00
# Load dependencies.
2012-09-08 22:47:57 +00:00
pmodload 'helper' 'spectrum'
2012-06-03 18:02:05 +00:00
# Correct commands.
setopt CORRECT
2012-08-04 18:48:32 +00:00
#
2012-06-03 18:02:05 +00:00
# Aliases
2012-08-04 18:48:32 +00:00
#
2012-06-03 18:02:05 +00:00
2012-06-10 23:35:15 +00:00
# Disable correction.
alias ack='nocorrect ack'
alias cd='nocorrect cd'
alias cp='nocorrect cp'
alias ebuild='nocorrect ebuild'
alias gcc='nocorrect gcc'
alias gist='nocorrect gist'
alias grep='nocorrect grep'
alias heroku='nocorrect heroku'
alias ln='nocorrect ln'
alias man='nocorrect man'
alias mkdir='nocorrect mkdir'
alias mv='nocorrect mv'
alias mysql='nocorrect mysql'
alias rm='nocorrect rm'
# Disable globbing.
alias bower='noglob bower'
2012-06-10 23:35:15 +00:00
alias fc='noglob fc'
alias find='noglob find'
alias ftp='noglob ftp'
2012-06-10 23:35:15 +00:00
alias history='noglob history'
alias locate='noglob locate'
alias rake='noglob rake'
alias rsync='noglob rsync'
alias scp='noglob scp'
alias sftp='noglob sftp'
2012-06-10 23:35:15 +00:00
# Define general aliases.
alias _='sudo'
alias b='${(z)BROWSER}'
alias cp="${aliases[cp]:-cp} -i"
alias diffu="diff --unified"
alias e='${(z)VISUAL:-${(z)EDITOR}}'
2012-06-10 23:35:15 +00:00
alias ln="${aliases[ln]:-ln} -i"
alias mkdir="${aliases[mkdir]:-mkdir} -p"
alias mv="${aliases[mv]:-mv} -i"
alias p='${(z)PAGER}'
alias po='popd'
alias pu='pushd'
alias rm="${aliases[rm]:-rm} -i"
alias sa='alias | grep -i'
2012-06-10 23:35:15 +00:00
alias type='type -a'
# ls
2012-06-03 18:02:05 +00:00
if is-callable 'dircolors'; then
2012-06-10 23:35:15 +00:00
# GNU Core Utilities
2012-06-03 18:02:05 +00:00
alias ls='ls --group-directories-first'
if zstyle -t ':prezto:module:utility:ls' color; then
2012-06-03 18:02:05 +00:00
if [[ -s "$HOME/.dir_colors" ]]; then
eval "$(dircolors --sh "$HOME/.dir_colors")"
2012-06-03 18:02:05 +00:00
else
eval "$(dircolors --sh)"
2012-06-03 18:02:05 +00:00
fi
2012-09-11 06:03:32 +00:00
alias ls="${aliases[ls]:-ls} --color=auto"
2012-06-03 18:02:05 +00:00
else
alias ls="${aliases[ls]:-ls} -F"
2012-06-03 18:02:05 +00:00
fi
else
2012-06-10 23:35:15 +00:00
# BSD Core Utilities
if zstyle -t ':prezto:module:utility:ls' color; then
# Define colors for BSD ls.
2012-09-11 06:03:32 +00:00
export LSCOLORS='exfxcxdxbxGxDxabagacad'
# Define colors for the completion system.
2012-09-11 06:03:32 +00:00
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'
alias ls="${aliases[ls]:-ls} -G"
2012-06-03 18:02:05 +00:00
else
alias ls="${aliases[ls]:-ls} -F"
2012-06-03 18:02:05 +00:00
fi
fi
2012-06-10 23:35:15 +00:00
alias l='ls -1A' # Lists in one column, hidden files.
alias ll='ls -lh' # Lists human readable sizes.
alias lr='ll -R' # Lists human readable sizes, recursively.
alias la='ll -A' # Lists human readable sizes, hidden files.
2012-06-23 17:09:55 +00:00
alias lm='la | "$PAGER"' # Lists human readable sizes, hidden files through pager.
2012-06-10 23:35:15 +00:00
alias lx='ll -XB' # Lists sorted by extension (GNU only).
alias lk='ll -Sr' # Lists sorted by size, largest last.
alias lt='ll -tr' # Lists sorted by date, most recent last.
alias lc='lt -c' # Lists sorted by date, most recent last, shows change time.
alias lu='lt -u' # Lists sorted by date, most recent last, shows access time.
2012-06-03 18:02:05 +00:00
alias sl='ls' # I often screw this up.
# Grep
if zstyle -t ':prezto:module:utility:grep' color; then
export GREP_COLOR='37;45' # BSD.
export GREP_COLORS="mt=$GREP_COLOR" # GNU.
alias grep="${aliases[grep]:-grep} --color=auto"
fi
2012-06-10 23:35:15 +00:00
# Mac OS X Everywhere
2012-06-03 18:02:05 +00:00
if [[ "$OSTYPE" == darwin* ]]; then
alias o='open'
elif [[ "$OSTYPE" == cygwin* ]]; then
alias o='cygstart'
alias pbcopy='tee > /dev/clipboard'
alias pbpaste='cat /dev/clipboard'
2012-06-03 18:02:05 +00:00
else
alias o='xdg-open'
if (( $+commands[xclip] )); then
alias pbcopy='xclip -selection clipboard -in'
alias pbpaste='xclip -selection clipboard -out'
2013-08-20 12:47:18 +00:00
elif (( $+commands[xsel] )); then
2012-06-03 18:02:05 +00:00
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
fi
fi
alias pbc='pbcopy'
alias pbp='pbpaste'
2013-08-20 12:46:37 +00:00
# File Download
if (( $+commands[curl] )); then
alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time'
elif (( $+commands[wget] )); then
alias get='wget --continue --progress=bar --timestamping'
fi
2012-06-10 23:35:15 +00:00
# Resource Usage
2016-03-18 07:29:57 +00:00
if (( $+commands[pydf] )); then
alias df=pydf
else
alias df='df -kh'
fi
2012-06-10 23:35:15 +00:00
alias du='du -kh'
if [[ "$OSTYPE" == (darwin*|*bsd*) ]]; then
alias topc='top -o cpu'
alias topm='top -o vsize'
2012-06-03 18:02:05 +00:00
else
alias topc='top -o %CPU'
alias topm='top -o %MEM'
2012-06-03 18:02:05 +00:00
fi
# Miscellaneous
2011-10-12 03:13:58 +00:00
# Serves a directory via HTTP.
if (( $+commands[python3] )); then
alias http-serve='python3 -m http.server'
else
alias http-serve='python -m SimpleHTTPServer'
fi
2009-08-31 22:00:38 +00:00
2012-08-04 18:48:32 +00:00
#
2012-06-03 18:02:05 +00:00
# Functions
2012-08-04 18:48:32 +00:00
#
2012-06-03 18:02:05 +00:00
# Makes a directory and changes to it.
function mkdcd {
[[ -n "$1" ]] && mkdir -p "$1" && builtin cd "$1"
2009-08-31 13:03:56 +00:00
}
# Changes to a directory and lists its contents.
function cdls {
builtin cd "$argv[-1]" && ls "${(@)argv[1,-2]}"
}
# Pushes an entry onto the directory stack and lists its contents.
function pushdls {
builtin pushd "$argv[-1]" && ls "${(@)argv[1,-2]}"
}
# Pops an entry off the directory stack and lists its contents.
function popdls {
builtin popd "$argv[-1]" && ls "${(@)argv[1,-2]}"
}
# Prints columns 1 2 3 ... n.
function slit {
2012-04-15 00:28:28 +00:00
awk "{ print ${(j:,:):-\$${^@}} }"
}
# Finds files and executes a command on them.
function find-exec {
find . -type f -iname "*${1:-}*" -exec "${2:-file}" '{}' \;
}
2012-06-10 23:35:15 +00:00
# Displays user owned processes status.
function psu {
ps -U "${1:-$LOGNAME}" -o 'pid,%cpu,%mem,command' "${(@)argv[2,-1]}"
2012-06-10 23:35:15 +00:00
}