# Set less as pager, its configuration is done through the .less file.
export PAGER=less
+
+# Set colors for ls (and zsh completions). This colors files normal (fi),
+# directories blue bold (di), symbolic links cyan (ln), named pipes normal
+# (pi), sockets normal (so), block devices normal (bd), character devices
+# normal (cd) and executables bold red (ex).
+# See `dircolors --print-database` for possible colors.
+LS_COLORS='no=00:fi=00:di=34;01:ln=36:pi=00:so=00:bd=00:cd=00:ex=31;01'
+export LS_COLORS
# one.
setopt correct
-# Use colorized output.
+# 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 and a + if this shell is
# running inside another shell.
# 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 <TAB>
# the first time.
setopt nolistambiguous
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'
# Enable zsh's extended glob abilities.
setopt extendedglob