]> git.draconx.ca Git - zshconf.git/blobdiff - zshrc
Add common aliases to global zshrc.
[zshconf.git] / zshrc
diff --git a/zshrc b/zshrc
index 130e70c1c192ecef3b3097a8d09fa3cebc6aa41b..7f5a3b3984e99773f3a26d417ea68d6bccf8632f 100644 (file)
--- a/zshrc
+++ b/zshrc
@@ -1,38 +1,61 @@
-if [ -n "$HOME" ]; then
-       HISTFILE="$HOME/.zsh_history"
-       SAVEHIST=1000
+# Configuration for interactive shells.
+#
+# Copyright (C) 2009 Nick Bowler
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+
+if [[ -n $HOME ]]; then
+       HISTFILE=$HOME/.zsh_history
+       SAVEHIST=10000
 fi
-HISTSIZE=1000
+HISTSIZE=10000
 
 bindkey -e
 
-case "$TERM" in
+case $TERM in
 rxvt*)
-       if [ "$TERM" = "rxvt-unicode" ]; then
-               [ -z "$COLORTERM" ] && export COLORTERM="rxvt-xpm"
-               [ -z "$COLORFGBG" ] && export COLORFGBG="15;default;0"
+       if [[ $TERM =~ '^rxvt-unicode' ]]; then
+               [[ -z $COLORTERM ]] && export COLORTERM='rxvt-xpm'
+               [[ -z $COLORFGBG ]] && export COLORFGBG='15;default;0'
        fi
 
        bindkey '\e[3~' delete-char
        bindkey '\e[8~' end-of-line
        bindkey '\e[7~' beginning-of-line
 ;;
-screen*|linux)
+screen*|linux|cygwin)
        bindkey '\e[3~' delete-char
        bindkey '\e[4~' end-of-line
        bindkey '\e[1~' beginning-of-line
+       bindkey '\eOM'  accept-line
 ;;
-xterm)
+xterm*)
        bindkey '\e[3~' delete-char
-       bindkey '\e[F' end-of-line
-       bindkey '\e[H' beginning-of-line
-       bindkey '\eOH' beginning-of-line
-       bindkey '\eOF' end-of-line
+       bindkey '\e[F'  end-of-line
+       bindkey '\e[H'  beginning-of-line
+       bindkey '\eOH'  beginning-of-line
+       bindkey '\eOF'  end-of-line
+;;
+cons25)
+       bindkey '^?'    delete-char
+       bindkey '\e[F'  end-of-line
+       bindkey '\e[H'  beginning-of-line
 ;;
 esac
 
+# Keymap-specific bindings
+case $KEYMAP in
+colemak)
+       bindkey '^R'    history-incremental-search-forward
+       bindkey '^P'    history-incremental-search-backward
+       ;;
+esac
+
 # Set the xterm title
-case "$TERM" in
+case $TERM in
         xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
                 settitle() { print -Pn $'\e]0;%n@%m %33<...<%~%<<\a' }
                 ;;
@@ -44,11 +67,12 @@ case "$TERM" in
                ;;
 esac
 
+# Show the return code of failed commands, but don't be noisy about it.
 precmd() {
        settitle
 
-       if [[ -n "$__NEWRUN" ]]; then
-               RPS1=$'%(0?,,%{\e[31;1m%}RC=%?%{\e[0m%})'
+       if [[ -n $__NEWRUN ]]; then
+               RPS1='%(0?,,%B%F{red}RC=%?%f%b)'
                unset __NEWRUN
        else
                unset RPS1
@@ -59,15 +83,32 @@ preexec() {
        __NEWRUN=yes
 }
 
-if [ -n "$COLORTERM" ]; then
-       PS1=$'%(!,%{\e[31;1m%},%{\e[32;1m%}%n@)%m%{\e[34;1m%} %33<...<%~%<< %#%{\e[0m%} '
+# A gentoo-like prompt.
+PS1='%B%(!,%F{red},%F{green}%n@)%m %F{blue}%33<...<%~%<< %#%f%b '
 
-       # Random colour-related options
+if [ -n $COLORTERM ]; then
+       # Assorted colour-related options
        export MINICOM="-c on"
-else
-       PS1='%n@%m %33<...<%~%<< %# '
 fi
 
-if [[ -n "$SSH_CONNECTION" ]]; then
-       PS1="${PS1/\[32/[33}"
+if [[ -n $SSH_CONNECTION ]]; then
+       PS1=${PS1/green/yellow}
 fi
+
+# Locale
+export LANG=en_CA.UTF-8
+export LC_COLLATE=ja_JP.UTF-8
+
+# Default options for various utilities.
+alias ls='ls --time-style=long-iso --color=auto'
+alias grep='grep --color=auto'
+
+# I hate mistakes
+alias mv='mv -i'
+alias rm='rm -i'
+alias cp='cp -i'
+
+# Common aliases
+alias vv='$EDITOR ~/.zshrc && source ~/.zshrc'
+alias ll='ls -l'
+alias lr='ls -rtl'