X-Git-Url: https://git.draconx.ca/gitweb/zshconf.git/blobdiff_plain/a20bf3cac3774b4cb8126a9750e2c4c5d254427e..590f3449add396e5dc77275df6fbf6014cb7a4e2:/zshrc diff --git a/zshrc b/zshrc index b015d5b..7f5a3b3 100644 --- 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,24 +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 -# I like colours -alias ls='ls --color=auto' +# 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'