Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
example startup file
- X-seq: zsh-workers 14266
- From: Oliver Kiddle <opk@xxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: example startup file
- Date: Tue, 08 May 2001 18:58:50 +0100
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- Sender: kiddleo@xxxxxxxxxxxxxxxx
This is a suggestion for the example zshrc in StartupFiles. I think we
should be encouraging the use of new style completion so the main
change here is to enable it. All deleted compctls have equivalent or
similiar examples in compctl-examples.
I think I've managed to put together a reasonably varied selection of
mostly simple zstyles including one zstyle -e example.
I've not commited this yet to allow for any objections.
Also, I'm not too happy with the autoload for loop: if it finds no
executable files in a directory it emits an error and returns. Does
anyone have any better suggestions which keep things simple. As I see
it, you either also loop for files or use the N nullglob flag and
redirect outout because autoload with no arguments outputs all
functions.
I get directories in fpath duplicated with this .zshrc after compinit
which isn't too good. Maybe typeset -U fpath should be the default?
Etc/FEATURES could also do with an update before 4.0.1. At the very
least to update the count of options, builtins etc. I'm a bit concerned
about the line which says:
directory stack access with =num
Either this is wrong, has been broken or I'm misunderstanding it.
Oliver
--- /home/kiddleo/cvs/zsh/StartupFiles/zshrc Mon Mar 26 00:41:02 2001
+++ zshrc Tue May 8 18:42:07 2001
@@ -1,5 +1,5 @@
#
-# Generic .zshrc file for zsh 2.7
+# Example .zshrc file for zsh 4.0
#
# .zshrc is sourced in interactive shells. It
# should contain commands to set up aliases, functions,
@@ -42,19 +42,19 @@
# Shell functions
setenv() { export $1=$2 } # csh compatibility
+freload() { while (( $# )); do; unfunction $1; autoload -U $1; shift; done }
# Where to look for autoloaded function definitions
-fpath=(~/.zfunc)
+fpath=($fpath ~/.zfunc)
# Autoload all shell functions from all directories
# in $fpath that have the executable bit on
# (the executable bit is not necessary, but gives
# you an easy way to stop the autoloading of a
# particular shell function).
-for dirname in $fpath
-do
- autoload $dirname/*(.x:t)
-done
+#for dirname in $fpath; do
+# autoload $dirname/*(.x:t)
+#done
# Global aliases -- These do not have to be
# at the beginning of the command line.
@@ -65,10 +65,7 @@
manpath=($X11HOME/man /usr/man /usr/lang/man /usr/local/man)
export MANPATH
-# Filename suffixes to ignore during completion
-fignore=(.o .c~ .old .pro)
-
-# Hosts to use for completion
+# Hosts to use for completion (see later zstyle)
hosts=(`hostname` ftp.math.gatech.edu prep.ai.mit.edu wuarchive.wustl.edu)
# Set prompts
@@ -85,7 +82,7 @@
DIRSTACKSIZE=20
# Watch for my friends
-#watch=($(cat ~/.friends)) # watch for people in .friends file
+#watch=( $(<~/.friends) ) # watch for people in .friends file
watch=(notme) # watch for everybody but me
LOGCHECK=300 # check every 5 min for login/logout activity
WATCHFMT='%n %a %l from %m at %t.'
@@ -97,28 +94,62 @@
setopt autopushd pushdminus extendedglob rcquotes mailwarning
unsetopt bgnice autoparamslash
-# Setup some basic programmable completions. To see more examples
-# of these, check Misc/compctl-examples in the zsh distribution.
-compctl -g '*(-/)' cd pushd
-compctl -g '*(/)' rmdir dircmp
-compctl -j -P % -x 's[-] p[1]' -k signals -- kill
-compctl -j -P % fg bg wait jobs disown
-compctl -A shift
-compctl -caF type whence which
-compctl -F unfunction
-compctl -a unalias
-compctl -v unset typeset declare vared readonly export integer
-compctl -e disable
-compctl -d enable
-
# Some nice key bindings
#bindkey '^X^Z' universal-argument ' ' magic-space
#bindkey '^X^A' vi-find-prev-char-skip
+#bindkey '^Xa' _expand_alias
#bindkey '^Z' accept-and-hold
#bindkey -s '\M-/' \\\\
#bindkey -s '\M-=' \|
-# bindkey -v # vi key bindings
+# bindkey -v # vi key bindings
+
+bindkey -e # emacs key bindings
+bindkey ' ' magic-space # also do history expansion on space
+bindkey '^I' complete-word # complete on tab, leave expansion to _expand
+
+# Setup new style completion system. To see examples of the old style (compctl
+# based) programmable completion, check Misc/compctl-examples in the zsh
+# distribution.
+autoload -U compinit
+compinit
+
+# Completion Styles
+
+# list of completers to use
+zstyle ':completion:*::::' completer _expand _complete _ignored _approximate
+
+# allow one error for every three characters typed in approximate completer
+zstyle -e ':completion:*:approximate:*' max-errors \
+ 'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )'
+
+# insert all expansions for expand completer
+zstyle ':completion:*:expand:*' tag-order all-expansions
+
+# formatting and messages
+zstyle ':completion:*' verbose yes
+zstyle ':completion:*:descriptions' format '%B%d%b'
+zstyle ':completion:*:messages' format '%d'
+zstyle ':completion:*:warnings' format 'No matches for: %d'
+zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
+zstyle ':completion:*' group-name ''
+
+# match uppercase from lowercase
+zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
+
+# offer indexes before parameters in subscripts
+zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
+
+# command for process lists, the local web server details and host completion
+#zstyle ':completion:*:processes' command 'ps -o pid,s,nice,stime,args'
+#zstyle ':completion:*:urls' local 'www' '/var/www/htdocs' 'public_html'
+zstyle '*' hosts $hosts
+
+# filename suffixes to ignore during completion (except after rm command)
+zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \
+ '*?.old' '*?.pro'
+# the same for old style completion
+#fignore=(.o .c~ .old .pro)
-bindkey -e # emacs key bindings
-bindkey ' ' magic-space # also do history expansino on space
+# ignore completion functions (until the _ignored completer)
+zstyle ':completion:*:functions' ignored-patterns '_*'
_____________________________________________________________________
This message has been checked for all known viruses by the
MessageLabs Virus Scanning Service. For further information visit
http://www.messagelabs.com/stats.asp
Messages sorted by:
Reverse Date,
Date,
Thread,
Author