-# Configuration for interactive shells.
+# Copyright © 2009-2011, 2017-2018 Nick Bowler
#
-# Copyright (C) 2009 Nick Bowler
+# Default configuration for interactive zsh.
#
-# 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.
+# License WTFPL2: Do What The Fuck You Want To Public License, version 2.
+# This is free software: you are free to do what the fuck you want to.
+# There is NO WARRANTY, to the extent permitted by law.
# Default shell options
setopt EXTENDED_GLOB
fi
HISTSIZE=10000
-bindkey -e
-
-case $TERM in
-rxvt*)
- 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|cygwin)
- bindkey '\e[3~' delete-char
- bindkey '\e[4~' end-of-line
- bindkey '\e[1~' beginning-of-line
- bindkey '\eOM' accept-line
-;;
-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
-;;
-cons25)
- bindkey '^?' delete-char
- bindkey '\e[F' end-of-line
- bindkey '\e[H' beginning-of-line
-;;
-esac
+reset_keymap() {
+ local k del home end
+
+ case $# in
+ 0) : ;;
+ *) export KEYMAP=$1 ;;
+ esac
+
+ case $TERM in
+ rxvt*)
+ del=('\e[3~') home=('\e[7~') end=('\e[8~') ;;
+ screen*|linux|cygwin)
+ del=('\e[3~') home=('\e[1~') end=('\e[4~') ;;
+ cons25)
+ del=('^?') home=('\e[H') end=('\e[F') ;;
+ xterm*)
+ del=('\e[3~')
+ home=('\e[1~' '\e[H' '\e[OH')
+ end=('\e[4~' '\e[F' '\e[OF')
+ ;;
+ esac
+
+ bindkey -e
+ for k in "${del[@]}"; do bindkey "$k" delete-char; done
+ for k in "${home[@]}"; do bindkey "$k" beginning-of-line; done
+ for k in "${end[@]}"; do bindkey "$k" end-of-line; done
+
+ stty stop ''
+ case $KEYMAP in
+ colemak)
+ bindkey '^R' history-incremental-search-forward
+ bindkey '^P' history-incremental-search-backward
+ stty eof '^S' ;;
+ *)
+ stty eof '^D' ;;
+ esac
+}
+reset_keymap
-# Keymap-specific bindings
-case $KEYMAP in
-colemak)
- bindkey '^R' history-incremental-search-forward
- bindkey '^P' history-incremental-search-backward
- ;;
-esac
+reset() {
+ command reset
+ reset_keymap
+}
# Set the xterm title
case $TERM in
export LC_COLLATE=ja_JP.UTF-8
# Default options for various utilities.
-alias ls='ls --time-style=long-iso --color=auto'
+alias ls='ls -N --time-style=long-iso --color=auto'
alias grep='grep --color=auto'
# I hate mistakes