X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=515ae9bd30c64fb2704e65e87804e45eb429811f;hb=HEAD;hp=ebbd99457821afa65586ff837a8585240510da97;hpb=c1f326253bfac02501e64d80e76626072d0b8ace;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc deleted file mode 100644 index ebbd994..0000000 --- a/zsh/rc +++ /dev/null @@ -1,176 +0,0 @@ -# Zsh configuration file. - - -# Use Vi(m) style key bindings. -bindkey -v - -# Be paranoid, new files are readable/writable by me only. -umask 077 - -# Make sure core dumps are created. -ulimit -c unlimited - -# Use history and store it in ~/.zsh/history. -HISTSIZE=1000 -SAVEHIST=1000 -HISTFILE=~/.zsh/history -# Append to the history file instead of overwriting it and do it immediately -# when a command is executed. -setopt appendhistory -setopt incappendhistory -# If the same command is run multiple times store it only once in the history. -setopt histignoredups -# Vim like completions of previous executed commands. -bindkey "^P" history-beginning-search-backward -bindkey "^N" history-beginning-search-forward - -# Prevent overwriting existing files with '> filename', use '>| filename' -# (or >!) instead. -setopt noclobber - -# Entering the name of a directory (if it's not a command) will automatically -# cd to that directory. -setopt autocd - -# When entering a nonexistent command name automatically try to find a similar -# one. -setopt correct - -# Autoload add-zsh-hook to add/remove zsh hook functions easily. -autoload -Uz add-zsh-hook - -# Use colorized output, necessary for prompts and completions. -autoload -U colors && colors - -# Set the default prompt. The current host and working directory is displayed, -# the exit code of the last command if it wasn't 0, the number of running jobs -# if not 0 and a + if this shell is running inside another shell. -# The prompt is in green and blue to make easily detectable, the error exit -# code in red and bold and the job count in yellow. -PROMPT="%{${fg[green]}%}%B%m%b%{${fg[default]}%}:\ -%{${fg[blue]}%}%B%~%b%{${fg[default]}%} \ -%(1j.%{${fg[yellow]}%}%j%{${fg[default]}%}.)%(2L.+.)%# \ -%(?..(%{${fg[red]}%}%B%?%b%{${fg[default]}%}%) )" - -# Use new completion system. -autoload -U compinit && compinit -# Load the complist module which provides additions to completion lists -# (coloring, scrollable). -zmodload zsh/complist -# Make sure the list of possible completions is displayed after pressing -# the first time. -setopt nolistambiguous -# Allow completions in the middle of a text, i.e. "/usr/bin/whatever" -# completes like "/usr/bin/". Useful when adding new options to commands. -bindkey "^I" expand-or-complete-prefix -# Use cache to speed up completions. -zstyle ':completion:*' use-cache on -zstyle ':completion:*' cache-path ~/.zsh/cache -# Try uppercase if the currently typed string doesn't match. This allows -# typing in lowercase most of the time and completion fixes the case. -zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' -# Ignore completion functions. -zstyle ':completion:*:functions' ignored-patterns '_*' -# Ignore parent directory. -zstyle ':completion:*:(cd|mv|cp):*' ignore-parents parent pwd -# Use ls like colors for completions. -zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} -# Make completion lists scrollable so "do you wish to see all n possibilities" -# is no longer displayed. -zstyle ':completion:*' list-prompt '%p' -# When unsetting variables make sure every variable name is only suggested -# once. -zstyle ':completion:*:unset:*' ignore-line yes -# When working with mercurial don't complete the same file multiple times. -zstyle ':completion:*:hg*:*' ignore-line yes - -# Enable zsh's extended glob abilities. -setopt extendedglob - -# Don't exit if is pressed. -setopt ignoreeof - -# If ^C is pressed while typing a command, add it to the history so it can be -# easily retrieved later and then abort like ^C normally does. This is useful -# when I want to abort an command to do something in between and then finish -# typing the command. -TRAPINT() { - # Store the current buffer in the history. - zle && print -s $BUFFER - - # Return the default exit code so zsh aborts the current command. - return $1 -} - -# Execute all periodic functions every hour. -PERIOD=3600 -# Display TODOs stored in ~/.todo if this file exists. Run every hour to make -# clear they should be completed ;-). -todo() { - if [[ -f ~/.todo ]]; then - cat ~/.todo | $PAGER - fi -} -add-zsh-hook periodic todo - -# Simplify calls to less, automatically redirects all output. -alias -g L='2>&1 | less' -# Simplify calls to colordiff, output is also piped through less. -alias -g D='2>&1 | colordiff L' -# Simplify calls to grep. -alias -g G='| grep' - -# Automatically use unified diffs. -alias diff='diff -u' - -# Display all files and use human readable sizes. -alias du='du -sh' - -# Multiple files given to Vim are opened in tabs. -alias vim='vim -p' -# Shortcuts for Vim. -alias v='vim' -alias vi='vim' - -# Exit binding like in Vim. -alias :q='exit' - -# Edit the mercurial patch queue series file for the current mercurial -# repository in Vim. Also change Vim's pwd to the patches directory so other -# patches can easily be opened. -alias vqs='vim -c "cd $(hg root)/.hg/patches/" "$(hg root)/.hg/patches/series"' - -# Make going up directories simple. -alias -g ...='../..' -alias -g ....='../../..' - -# Improved ls which displays the files in columns (-C), visualizes directories, -# links and other special files (-F) and pages everything through less (L). -# -# If available use GNU ls with colorized output. If it isn't available use -# normal ls which needs CLICOLOR_FORCE so it displays colors when used with a -# pager. -ls --color &> /dev/null -if [[ $? -eq 0 ]]; then - alias ls='ls --color' -else - alias ls='CLICOLOR_FORCE=1 ls -G' -fi -# Main ls function. -function ls() { - command ls -C -F $* L -} -# Helper function to list all files. -function la() { - ls -a $* -} -# Helper function to list all files in list format with access rights, etc. -function ll() { - la -l $* -} - - -# Load rc file for current OS. -source_config ~/.zsh os rc $(uname) nolocal -# Load rc file for current hostname (first part before a dot) or rc.local. -source_config ~/.zsh host rc ${$(hostname)//.*/}