initial checkin
[zsh-lovers.git] / zsh_people / strcat / zshexports
1 # (( ${+*} )) = if variable is set don't set it anymore
2 #  Note: Do *not* use '$PORTSDIR'! This variable is defined in 
3 #        '/path/to/ports/Makefile'.
4 (( ${+IRCNAME} )) || export IRCNAME="Christian 'strcat' Schneider"      # **EDIT**
5 (( ${+IRCNICK} )) || export IRCNICK="strcat"                            # **EDIT**
6 (( ${+IRCSERVER} )) || export IRCSERVER="irc.euirc.net"                 # **EDIT**
7 (( ${+VISUAL} )) || export VISUAL="vim"                                 # **EDIT**
8 (( ${+BROWSER} )) || export BROWSER="w3m"                               # **EDIT**
9 (( ${+OS} )) || export OS="${OSTYPE%%[0-9.]*}" 
10 (( ${+OSVERSION} )) || export OSVERSION="${OSTYPE#$OS}"
11 (( ${+OSMAJOR} )) || export OSMAJOR="${OSVERSION%%.*}"
12 (( ${+ORGANIZATION} )) || export ORGANIZATION="Guerrilla UNIX Development (Venimus, Vidimus, Dolavimus)" # **EDIT**
13 (( ${+SHITDIR} )) || export SHITDIR="/home/$LOGNAME/Trash"
14
15 # some variables for specific systems
16 case ${OS} in
17         openbsd)
18         (( ${+CVSROOT} )) || export CVSROOT="anoncvs@anoncvs.ca.OpenBSD.org:/cvs"
19         (( ${+PORTS_DIR} )) || export PORTS_DIR="/usr/ports"
20         (( ${+PKG_PATH} )) || export PKG_PATH="ftp://ftp.OpenBSD.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)"
21         ;;
22         netbsd)
23         (( ${+CVSROOT} )) || export CVSROOT="anoncvs@anoncvs.se.NetBSD.org:/cvsroot"
24         (( ${+LD_LIBRARY_PATH} )) || export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/X11R6/lib:/usr/local/lib:/usr/pkg/lib"
25         (( ${+INCLUDEPATH} )) || export INCLUDEPATH="$INCLUDEPATH:/usr/local/lib"
26         (( ${+CFLAGS} )) || export CFLAGS='-I/usr/local/include -I/usr/pkg/include -I/usr/X11R6/include'
27         (( ${+CPPFLAGS} )) || export CPPFLAGS=$CFLAGS
28         ;;
29 esac
30
31 # compiler opt. flags !!! use this with caution !!! or dont use et all
32 case $CPUTYPE in
33         i686)
34         (( ${+CFLAGS} )) || export CFLAGS='-O3 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -fomit-frame-pointer -fno-exceptions'
35         ;;
36         i586)
37         (( ${+CFLAGS} )) || export CFLAGS='-O3 -mcpu=pentium -ffast-math -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -malign-double -fno-exceptions'
38         ;;
39         i486)
40         (( ${+CFLAGS} )) || export CFLAGS='-O3 -funroll-all-loops -malign-double -mcpu=i486 -march=i486 -fomit-frame-pointer -fno-exceptions'
41         ;;
42         *)
43         (( ${+CXXFLAGS} )) || export CXXFLAGS=$CFLAGS
44 esac
45
46 # Set the values for some environment variables:
47 export HOSTNAME="`hostname`"
48 export LESS="-sCieM -P?fFile %f:stdin. ?m(%i of %m) :.line %l ?Lof %L:.?p (%p\%):."
49 export LESSBINFMT='*u[%X]'
50 export PAGER=less
51 export CVS_RSH=ssh
52 export NNTPSERVER='news.individual.net'                 # **EDIT**
53 export HELPDIR='~/.zsh/help'
54 export VERSION=${VERSION:-"zsh $ZSH_VERSION"}
55 export WWW_HOME="http://www.google.com"
56 export HTTP_HOME="http://www.google.com"
57 export NETHACKOPTIONS='gender:male,noautopickup,color,lit_corridor,showrace,showexp,showdmg,showweight,time,toptenwin,catname:Prowl,msg_window:f,!legacy'
58 export INFOPATH="/usr/local/info/:/usr/share/info/:/usr/local/emul/redhat/:/usr/share/info/"
59 export MANWIDTH=80
60
61 if [ -x $(which lesspipe.sh) ]; then
62         export LESSOPEN="|lesspipe.sh %s"
63 fi
64
65 # i primarily use Vim (GNU Emacs and jed are only exception ;-))
66 #  $ print ${${$(=vim --version)[5]}:gs/.//}
67 # is equivalent to 
68 #  $ /path/to/vim --version | head -n 1 | awk '{print $5}' | sed 's/\.//'
69 if [ -x $(which vim) ]; then
70         export EDITOR=vim
71         export VISUAL="${EDITOR}"
72         export VIMRELEASE="`print ${${$(vim --version)[5]}:gs/.//}`"
73 else
74         if [ -x $(which vi) ]; then
75                 export EDITOR=vi
76         fi
77 fi
78  
79 case ${OS} in
80         openbsd)
81         [ -d "/usr/local/share/vim/vim$VIMRELEASE" ] \
82                 && export VIMRUNTIME="/usr/local/share/vim/vim$VIMRELEASE"
83         ;;
84         netbsd)
85         [ -d "/usr/pkg/share/vim/vim$VIMRELEASE" ] \
86                 && export VIMRUNTIME="/usr/pkg/share/vim/vim$VIMRELEASE"
87         ;;
88         linux-gnu)
89         [ -d "/usr/share/vim/vim$VIMRELEASE" ] \
90                 && export VIMRUNTIME="/usr/share/vim/vim$VIMRELEASE"
91         ;;
92 esac
93
94 # That's for my Linuxbox (Slackware); OpenBSD doesn't support
95 # locale :/
96 if [ "${OSTYPE}" = linux-gnu ] && [ -x $(which locale) ]; then
97         # All of the below
98         export LC_ALL="en_US.iso885915"
99         # language information
100         export LANG="en_US.iso885915"
101         # Character classification and case conversion.
102         export LC_CTYPE="en_US.iso885915"
103         # Non-monetary numeric formats.
104         export LC_NUMERIC="en_US.iso885915"
105         # Date and time formats.
106         export LC_TIME="en_US.iso885915"
107         # Collation order.
108         export LC_COLLATE="en_US.iso885915"
109         # Monetary formats.
110         export LC_MONETARY="en_US.iso885915"
111         # ormats of informative and diagnostic messages and interactive responses.
112         export LC_MESSAGES="en_US.iso885915"
113         # Paper size format.
114         export LC_PAPER="en_US.iso885915"
115         # Define format of names.
116         export LC_NAME="en_US.iso885915"
117         # Format of addresses.
118         export LC_ADDRESS="en_US.iso885915"
119         # Format of telephon numbers.
120         export LC_TELEPHONE="en_US.iso885915"
121         # Format of dimensions.
122         export LC_MEASUREMENT="en_US.iso885915"
123         # Identify locale informations.
124         export LC_IDENTIFICATION="en_US.iso885915"
125 else
126         export LC_ALL=POSIX
127 fi
128
129
130 # $ cd /usr/ports/misc/fileutils
131 # $ make install clean
132 #  di = directory
133 #  fi = file
134 #  ln = symbolic link
135 #  pi = fifo file
136 #  so = socket file
137 #  bd = block (buffered) special file (block device)
138 #  cd = character (unbuffered) special file (character device)
139 #  or = symbolic link pointing to a non-existent file (orphan)
140 #  mi = non-existent file pointed to by a symbolic link (visible when you type ls -l)
141 #  ex = file which is executable (ie. has 'x' set in permissions (executable)).
142 #
143 # 0   = default color                   1   = bold
144 # 4   = underlined                      5   = flashing text
145 # 7   = reverse field                   31  = red
146 # 32  = green                           33  = orange
147 # 34  = blue                            35  = purple
148 # 36  = cyan                            37  = grey
149 # 40  = black background                41  = red background
150 # 42  = green background                43  = orange background
151 # 44  = blue background                 45  = purple background
152 # 46  = cyan background                 47  = grey background
153 # 90  = dark grey                       91  = light red
154 # 92  = light green                     93  = yellow
155 # 94  = light blue                      95  = light purple
156 # 96  = turquoise                       100 = dark grey background
157 # 101 = light red background            102 = light green background
158 # 103 = yellow background               104 = light blue background
159 # 105 = light purple background         106 = turquoise background
160 #
161 # Attribute codes:
162 #  00 none
163 #  01 bold
164 #  02 faint                  22 normal
165 #  03 standout               23 no-standout
166 #  04 underline              24 no-underline
167 #  05 blink                  25 no-blink
168 #  07 reverse                27 no-reverse
169 #  08 conceal
170 #  
171 # export LS_COLORS="fi=36:di=32:ln=1;33:ec=\\e[0;37m:ex=1:mi=1;30:or=1;30:*.c=32:*.bz=32:*.txt=36;1:*.doc=37:*.zip=1;32:*.rar=1;32:*.lzh=1;32:*.lha=1;32:*.arj=1;32:*.tar=1;32:*.tgz=1;32:*.gz=1;32:*~=1;30:*.bak=1;30:*.jpg=1;35:*.gif=1;35:*.tif=1;35:*.tiff=1;35:*.mod=1;31:*.voc=1;31:*.smp=1;31:*.au=1;31:*.wav=1;31:*.s3m=1;31:*.xm=1;31:*.pl=1;33:*.c=1;33"
172 LS_COLORS=''
173 LS_COLORS=$LS_COLORS:'no=0'           # Normal text       = Default foreground  
174 LS_COLORS=$LS_COLORS:'fi=0'           # Regular file      = Default foreground
175 LS_COLORS=$LS_COLORS:'di=32'          # Directory         = Bold, Yellow
176 LS_COLORS=$LS_COLORS:'ln=01;36'       # Symbolic link     = Bold, Cyan
177 LS_COLORS=$LS_COLORS:'pi=33'          # Named pipe        = Yellow
178 LS_COLORS=$LS_COLORS:'so=01;35'       # Socket            = Bold, Magenta
179 LS_COLORS=$LS_COLORS:'do=01;35'       # DO                = Bold, Magenta
180 LS_COLORS=$LS_COLORS:'bd=01;37'       # Block device      = Bold, Grey
181 LS_COLORS=$LS_COLORS:'cd=01;37'       # Character device  = Bold, Grey
182 LS_COLORS=$LS_COLORS:'ex=94'          # Executable file   = Light, Blue
183 LS_COLORS=$LS_COLORS:'*FAQ=31;7'      # FAQs              = Foreground Red, Background Black
184 LS_COLORS=$LS_COLORS:'*README=31;7'   # READMEs           = Foreground Red, Background Black
185 LS_COLORS=$LS_COLORS:'*INSTALL=31;7'  # INSTALLs          = Foreground Red, Background Black
186 LS_COLORS=$LS_COLORS:'*.sh=47;31'     # Shell-Scripts     = Foreground White, Background Red
187 LS_COLORS=$LS_COLORS:'*.vim=35'       # Vim-"Scripts"     = Purple
188 LS_COLORS=$LS_COLORS:'*.swp=00;44;37' # Swapfiles (Vim)   = Foreground Blue, Background White
189 LS_COLORS=$LS_COLORS:'*.sl=30;33'     # Slang-Scripts     = Yellow
190 LS_COLORS=$LS_COLORS:'*,v=5;34;93'    # Versioncontrols   = Bold, Yellow
191 LS_COLORS=$LS_COLORS:'or=01;05;31'    # Orphaned link     = Bold, Red, Flashing
192 LS_COLORS=$LS_COLORS:'*.c=1;32'       # Sources           = Bold, Yellow
193 LS_COLORS=$LS_COLORS:'*.C=1;33'       # Sources           = Bold, Yellow
194 LS_COLORS=$LS_COLORS:'*.h=1;33'       # Sources           = Bold, Yellow
195 LS_COLORS=$LS_COLORS:'*.cc=1;33'      # Sources           = Bold, Yellow
196 LS_COLORS=$LS_COLORS:'*.awk=1;33'     # Sources           = Bold, Yellow
197 LS_COLORS=$LS_COLORS:'*.pl=1;33'      # Sources           = Bold, Yellow
198 LS_COLORS=$LS_COLORS:'*.jpg=1;32'     # Images            = Bold, Green
199 LS_COLORS=$LS_COLORS:'*.jpeg=1;32'    # Images            = Bold, Green
200 LS_COLORS=$LS_COLORS:'*.JPG=1;32'     # Images            = Bold, Green
201 LS_COLORS=$LS_COLORS:'*.gif=1;32'     # Images            = Bold, Green
202 LS_COLORS=$LS_COLORS:'*.png=1;32'     # Images            = Bold, Green
203 LS_COLORS=$LS_COLORS:'*.jpeg=1;32'    # Images            = Bold, Green
204 LS_COLORS=$LS_COLORS:'*.ppm=1;32'     # Images            = Bold, Green
205 LS_COLORS=$LS_COLORS:'*.pgm=1;32'     # Images            = Bold, Green
206 LS_COLORS=$LS_COLORS:'*.pbm=1;32'     # Images            = Bold, Green
207 LS_COLORS=$LS_COLORS:'*.tar=31'       # Archive           = Red
208 LS_COLORS=$LS_COLORS:'*.tgz=31'       # Archive           = Red
209 LS_COLORS=$LS_COLORS:'*.gz=31'        # Archive           = Red
210 LS_COLORS=$LS_COLORS:'*.zip=31'       # Archive           = Red
211 LS_COLORS=$LS_COLORS:'*.sit=31'       # Archive           = Red
212 LS_COLORS=$LS_COLORS:'*.lha=31'       # Archive           = Red
213 LS_COLORS=$LS_COLORS:'*.lzh=31'       # Archive           = Red
214 LS_COLORS=$LS_COLORS:'*.arj=31'       # Archive           = Red
215 LS_COLORS=$LS_COLORS:'*.bz2=31'       # Archive           = Red
216 LS_COLORS=$LS_COLORS:'*.html=36'      # HTML              = Cyan
217 LS_COLORS=$LS_COLORS:'*.htm=1;34'     # HTML              = Bold, Blue
218 LS_COLORS=$LS_COLORS:'*.doc=1;34'     # MS-Word *lol*     = Bold, Blue
219 LS_COLORS=$LS_COLORS:'*.txt=1;34'     # Plain/Text        = Bold, Blue
220 LS_COLORS=$LS_COLORS:'*.o=1;36'       # Object-Files      = Bold, Cyan
221 LS_COLORS=$LS_COLORS:'*.a=1;36'       # Shared-libs       = Bold, Cyan
222 export LS_COLORS
223
224
225 # The format of login / logout reports if the watch parameter is set.
226 # Default is `%n has %a %l from %m'.
227 # Recognizes the following escape sequences:
228 #   %n = name of the user that logged in/out.
229 #   %a = observed action, i.e. "logged on" or "logged off".
230 #   %l = line (tty) the user is logged in on.
231 #   %M = full hostname of the remote host.
232 #   %m = hostname up to the first `.'.
233 #   %t or %@ = time, in 12-hour, am/pm format.
234 #   %w = date in `day-dd' format.
235 #   %W = date in `mm/dd/yy' format.
236 #   %D = date in `yy-mm-dd' format.
237 # WATCHFMT='%n %a %l from %m at %t.'
238 # WATCHFMT='*knock* *knock* Follow the white rabbit => %n %a %l from %m at %t.'
239 # WATCHFTM=print '\e[1;35m%B[%b\e[1;32m%B%n%b\e[1;35m%B]%b \e[1;34m%U%a%u \e[1;35mfrom terminal \e[1;31m%M \e[1;35mat \e[1;33m%U%T%u\e[0m''
240 #WATCHFMT="[%B%t%b] %B%n%b has %a %B%l%b from %B%M%b"
241 WATCHFMT="%B->%b %n has just %a %(l:tty%l:%U-Ghost-%u)%(m: from %m:)"
242
243 # If this parameter is nonzero, the shell will receive an ALRM signal if a
244 # command is not entered within the specified number of seconds after issuing a
245 # prompt. If there is a trap on SIGALRM, it will be executed and a new alarm is
246 # scheduled using the value of the TMOUT parameter after executing the trap. 
247 #TMOUT=1800
248
249 # format of process time reports with 'time'
250 #  %%     A `%'.
251 #  %U     CPU seconds spent in user mode.
252 #  %S     CPU seconds spent in kernel mode.
253 #  %E     Elapsed time in seconds.
254 #  %P     The CPU percentage, computed as  (%U+%S)/%E.
255 #  %J     The name of this job.
256 # Default is: 
257 #       %E real  %U user  %S system   %P  %J
258 TIMEFMT="Real: %E User: %U System: %S Percent: %P Cmd: %J"
259
260 # The maximum number of events stored in the internal history list. If you use
261 # the HIST_EXPIRE_DUPS_FIRST option, setting this value larger than the
262 # SAVEHIST size will give you the difference as a cushion for saving
263 # duplicated history events.
264 HISTSIZE=100000
265
266 # Stop annoying MailChecks. I'm not using AOL
267 unset MAILCHECK
268
269 # The name of the file used to store command history. When assigned to, history
270 # is loaded from the specified file. Also, several invocations of the shell
271 # running on the same machine will share history if their HISTFILE parameters
272 # all point to the same file.
273 # i have finally discovered the difference between `SAVEHIST' and `HISTSIZE'
274 # thanks to the FAQ. `HISTSIZE' is the number of lines of history that is
275 # kept within any given, running zsh. `SAVEHIST' is the number of lines of
276 # history that is written out to a file at the magic, mysterious moment 
277 # when that event occurs. so cat-ing `HISTFILE' into wc -l should enumerate
278 # the number of history events 
279 HISTFILE=$HOME/.zsh_history
280 SAVEHIST=65536
281 DIRSTACKSIZE=50
282
283 # If nonnegative, commands whose combined user and system execution
284 # times (measured in seconds) are greater than this value have timing
285 # statistics printed for them.
286 REPORTTIME=60
287
288 # Limit this fuckung "zsh: do you wish to see all NNN possibilities (NNN
289 # lines)?" downward (default is 100). Only ask before displaying
290 # completions if doing so would scroll.
291 LISTMAX=0
292
293 # Seconds for login / logout check
294 LOGCHECK=20
295
296 # Define some ftp-hosts ($ ftp <TAB>)
297 hosts=( ftp.{free,open,net}bsd.org
298         ftp rtfm.mit.edu
299         ftp.leo.org
300         ftp.2600.com
301         ftp.ciac.llnl.gov
302         ftp.de.kernel.org
303         ftp.mitglied.lycos.de
304         ftp.strcat.neessen.net
305         ftp.revier.com
306         127.0.0.1
307         192.168.13.{1..9}
308       )
309 zstyle ':completion:*:*:ftp:*' hosts $hosts
310
311 # Set the default system $PATH:
312 # PATH="/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/"
313 #PATH="/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/home/dope/bin:/"
314 #for foo in ~/bin ~/progs/bin; do
315 #       if [[ -z ${path[(r)$dir]} ]]; then
316 #               path=($dir $path)
317 #       fi
318 #done
319 # /Default/-PATH
320   PATH="/bin:/sbin:/usr/bin:/usr/sbin"
321 # If ~/bin exist, add it to $PATH (~/bin contains some scripts, ..)
322   [ -d "${HOME}/bin" ] && PATH="${PATH}:${HOME}/bin"
323 # Same here, but ~/dev-bin contains "unstable" software (WMI, Zsh, GCC,
324 # ..)
325   [ -d "${HOME}/dev-bin" ] && PATH="${PATH}:${HOME}/dev-bin/bin"
326   [ -d "${HOME}/dev-bin" ] && PATH="${PATH}:${HOME}/dev-bin/sbin"
327   
328   # Check some directories and add existing to $PATH
329   for dir in \
330           /usr/local/bin \
331           /usr/local/sbin \
332           /usr/X11R6/bin \
333           /usr/share/texmf/bin \
334           /usr/X11R6/libexec/fvwm/2.4.16 \
335           /usr/lib/java/bin \
336           /var/qmail/bin \
337           /usr/pkg/bin \
338           /usr/pkg/sbin \
339           /usr/games
340   do
341           [ -d "${dir}" ] && PATH="${PATH}:${dir}"
342   done
343
344 # For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in
345 if (( EUID == 0 )); then
346         echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null
347         if [ ! $? = 0 ]; then
348                 PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
349         fi
350 fi
351
352
353 # if your compdef Dir is ~/.zsh
354 fpath=( $fpath /usr/local/share/zsh/$ZSH_VERSION/functions/ ~/.zsh/func/ )
355
356 # See <http://sugi.nemui.org/doc/zsh/> for details.
357 if autoload +X -U _accept_line_with_url > /dev/null 2>&1 ; then
358         zle -N accept-line-with-url _accept_line_with_url
359         bindkey '^M' accept-line-with-url
360         bindkey '^J' accept-line-with-url
361         export DOWNLOADER="wget -S"
362 fi
363
364 # Using Opera as browser when X11 is up
365 if [ $DISPLAY ]; then
366         export WWW_BROWSER="~/.firefox/firefox %s"
367 else
368         export WWW_BROWSER=${BROWSER:-lynx}
369 fi
370
371 # Clean the non-existing dirs from my $PATH before export $PATH
372 #  ,----[ It's evil.. isn't it? ]
373 #  | [dope@dreckskind:~]% PATH=/bin:/usr/games:/bin
374 #  | [dope@dreckskind:~]% echo $PATH
375 #  | /bin:/usr/games:/bin
376 #  | [dope@dreckskind:~]% path=($^path(N))
377 #  | [dope@dreckskind:~]% echo $PATH
378 #  | /bin:/usr/games
379 #  | [dope@dreckskind:~]%
380 #  `----
381 #path=($^path(N))
382 #export PATH
383
384 # automatically remove duplicates from these arrays
385 typeset -gU path cdpath manpath fpath
386
387 # RTFM!!!11!
388 MANPATH="/usr/share/man:/usr/local/man"
389 for mdir in \
390         /backups/Documentations/manpages.de \
391         /home/dope/dev-bin/man \
392         /var/qmail/man \
393         /usr/X11/man \
394         /usr/X11R6/man \
395         /usr/share/texmf/man \
396         /usr/contrib/man \
397         /usr/share/man/old
398 do
399         [ -d "${mdir}" ] && MANPATH="${MANPATH}:${mdir}"
400 done
401
402 # notices on new mails
403 #--------------------------------------------------
404 # mailpref=/home/dope/MuttMail
405 # mailpath=($mailpref/INBOX'?New Mail in your INBOX'
406 #         $mailpref/Cron'?New Mail from Cron')
407 #-------------------------------------------------- 
408 #--------------------------------------------------
409 # typeset -a mailpath
410 # for i in ~/MuttMail/**/new; do
411 #       mailpath[$#mailpath+1]="${i}?You have new mail in ${i:h}."
412 # done
413 #-------------------------------------------------- 
414
415 # PS{1,2,3}, RPOMPT, .. 
416 # The "prompt" of the shell.
417 #  See zshmisc(1) (/PROMPT EXPANSION) for details.
418
419 # %n         $USERNAME.
420 # @          literal '@'
421 # %m         machine name.
422 # %M         The full machine hostname.
423 # %%         %
424 # %/         Present working directory ($PWD) (i. e.: /home/$USERNAME)
425 # %~         Present working directory ($PWD) (i. e.: ~)
426 # %h         Current history event number.
427 # %!         Current history event number.
428 # %L         The current value of $SHLVL.
429 # %S (%s)    Start (stop) standout mode.
430 # %U (%u)    Start (stop) underline mode.
431 # %B (%b)    Start (stop) boldface mode.
432 # %t / %@    Current time of day, in 12-hour, am/pm format.
433 # %T         Current time of day, in 24-hour format.
434 # %*         Current time of day in 24-hour  format,  with  seconds
435 # %N         The  name  of  the  script,  sourced file, or shell
436 #            function that zsh is currently executing,
437 # %i         The line number currently  being  executed  in  the script
438 # %w         The date in day-dd format.
439 # %W         The date in mm/dd/yy format.
440 # %D         The date in yy-mm-dd format.
441 # %D{string} string  is  formatted  using the strftime function (strftime(3))
442 # %l         The line (tty) the user is logged in on
443 # %?         The  return  code of the last command executed just before the prompt
444 # %_         The status of the parser
445 # %E         Clears to end of line
446 # %#         A  `#'  if  the shell is running with privileges, a `%' if not
447 # %v         The  value  of the first element of the psvar array parameter
448 # %{...%}    Include a string as a literal escape sequence
449 # :          literal ':'
450 # %Nc        "relative path", ie last N components of $PWD.
451 # >          literal '>'
452 #
453 # Some examples:
454 #  PS1="PS1='%B%n%b@%m:%4c>'"
455 #  PS1="%B(%b%n@%m%B)%b : %B(%b%3~%B)%b: "
456 #  PS1=$'%{\e[1;31m%}[%n@%m:%~ ]%{\e[0m%} '
457 #  PS1=$'%{\e[0;36m%}%n%{\e[0m%}:%{\e[0;31m%}%3~%{\e[0m%}%# ' ## user:~%
458 #  PS1=$'%{\e[0;36m%}%n%{\e[0m%}:%{\e[0;31m%}%3~%{\e[0m%}%B>%b ' ## user:~>
459 #  PS1='%n@%m:%4c%1v> ';RPS1=$'%{\e[0;36m%}%D{%A %T}%{\e[0m%}' ## user@host:~> ; Day time(hh:mm:ss)
460 #  PS1='%B[%b%n%B:%b%~%B]%b$ ' ## [user:~]$
461 #  PS1=$'%{\e[0;36m%}%n%{\e[0m%}:%20<..<%~%B>%b ' ## user:..c/vim-common-6.0>
462 #  PS1=$'%{\e[0;36m%}%#%{\e[0m%} ';RPS1=$'%{\e[0;31m%}%~%{\e[0m%}' ## % ; ~
463 #  PS1=$'%{\e[0;36m%}%n%{\e[0m%}%{\e[0;31m%}%#%{\e[0m%} ';RPS1=$'%{\e[0;31m%}%~%{\e[0m%}' ## user% ; ~
464 #  PS1='%# ';RPS1='%B%~%b' ## % ; ~ : no colors
465 #  PS1='%n@%m:%B%~%b> ' ## user@host:~> : no colors
466 #  PS1=$'%{\e[1;31m%}%B(%b%{\e[0m%}%n@%m%{\e[1;31m%})%{\e[0m%} : %{\e[1;31m%}(%{\e[0m%}%~%{\e[1;31m%})%{\e[0m%}: '
467 #  PS1=$'%{\e[0;33m%}[%{\e[0m%}%n%{\e[0;33m%}@%{\e[0m%}%m%{\e[0;33m%}:%{\e[0m%}%~%{\e[0;33m%}]%{\e[0m%}%# '
468 #  PS1=$(echo '\033[1m\033[30m(%/)\033[0m\033[39m\n[%n@%m \033[0m\033[34m%~\033[0m\033[39m]%# ')
469 #  PS1='%n@%U%m%u %B%30<..<%~%b %(!.#.>)' # user@host (underlined), pwd(bold; max 30 chars.) > or #
470 #  PS1=$'%{\e[0;31m%}[%{\e[0;36m%}%n%{\e[0;32m%}@%{\e[0;35m%}%m%{\e[0;34m%}:%{\e[0;33m%}%.%{\e[0;31m%}]%{\e[0;0m%}%# '
471 # random colors? sure. no problem ;)
472 #  $ setopt prompt_subst ; PROMPT=$'[%{\e[$((color=$((30+$RANDOM % 8))))m%}%n@%m %c%{\e[00m%}]%% '
473 #
474 # You can use ``promptinit'' for the zsh prompt themes extension. See
475 # ``less ${^fpath}/promptinit(N)'' for details. btw. http://aperiodic.net/phil/prompt/
476 # is a good prompt introduction for the Z shell
477
478 if [[ $SSH_CLIENT = *.* || $REMOTEHOST = *.* ]]; then
479     RPROMPT=$SSH_CLIENT
480 fi
481 if (( EUID == 0 )); then
482         PS1=$'%{\e[0;33m%}%B[%b%{\e[0m%}%n%{\e[0;33m%}%B@%b%{\e[0m%}%m%{\e[0;33m%}:%{\e[0m%}%~%{\e[0;33m%}%B]%b%{\e[0m%}%# '
483 else
484         case $HOST in
485                 dreckskind)
486                 PROMPT=$'\n%{\e[31m%}[%{\e[3;41;1;30m%}%n%{\e[0;31m%}@%{\e[3;41;1;30m%}%m%{\e[0;31m%}:%{\e[3;41;1;30m%}%~%{\e[0;31m%}] #%{\e[0m%} '
487                 ;;
488                 painless)
489                 PROMPT=$'%{\e[0;31m%}%B[%b%{\e[0m%}%n%{\e[0;31m%}@%{\e[0m%}%m%{\e[0;31m%}%B:%b%{\e[0m%}%~%{\e[0;31m%}%B]%b%{\e[0m%}%# '
490                 # On 'exit-Status != 0' display a ":(" on the right side.
491                 RPROMPT="%(?..:()%"
492                 ;;
493                 hellfire)
494                 autoload promptinit; promptinit ; prompt elite2 red
495                 #PROMPT=$'\n%{\e[31m%}[%{\e[3;41;1;30m%}%n%{\e[0;31m%}@%{\e[3;41;1;30m%}%m%{\e[0;31m%}:%{\e[3;41;1;30m%}%~%{\e[0;31m%}] #%{\e[0m%} '
496                 ;;
497                 blitzkrieg)
498                 PS1=$'%{\e[0;36m%}%n%{\e[0m%}%{\e[0;31m%}%#%{\e[0m%} '
499                 RPS1=$'%{\e[0;31m%}%~%{\e[0m%}'
500                 ;;
501                 diehard)
502                 PS1=$'%{\e[0;36m%}%n%{\e[0m%}:%{\e[0;31m%}%3~%{\e[0m%}%# '
503                 ;;
504                 *)
505                 PROMPT="[%n@%m] "
506                 RPROMPT="[%~]"
507         esac
508 fi
509
510 # Change the title in xterm
511 if [[ $TERM = (xterm|rxvt) ]]; then
512         precmd () { print -Pn "\e]0;[ %n@%m: %~ ] \a" }
513 fi
514
515
516 # Executed whenever a command has a non-zero exit status:
517 #--------------------------------------------------
518 # TRAPZERR() { echo 'AAAAAAAARRRRGHHHHH!!'; }
519 #-------------------------------------------------- 
520
521 #--------------------------------------------------
522 #red='%{\e[0;31m%}'
523 #white_on_blue='%{\e[0;37;44m%}'
524 #blue='%{\e[0;34m%}'
525 #nocolor='%{\e[0m%}'
526 # function precmd {
527 # PROMPT="${white_on_blue}--INSERT--$nocolor [%~]
528 # $red%B[%b$nocolor%n$red@$nocolor%m$red%B]%b$nocolor%% " }
529 #-------------------------------------------------- 
530
531 # The prompt used for spelling correction. The sequence `%R' expands to
532 # the string which presumably needs spelling correction, and `%r' expands
533 # to the proposed correction. All other prompt escapes are also allowed.
534 SPROMPT=$'%BError!%b Correct %{\e[31m%}%R%{ \e[0m%}to%{ \e[36m%}%r%{ \e[0m%}? [No/Yes/Abort/Edit]: '