annotate zshrc @ 10:6c4ab833e66d

emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
author Dirk Olmes <dirk@xanthippe.ping.de>
date Fri, 02 Dec 2011 15:27:54 +0100
parents 7364a3399187
children 13e0030ddaad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
1 #
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
2 # This is the main zshrc file.
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
3 #
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
4
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
5 if [ -d $HOME/.oh-my-zsh ]; then
6
ff5e785e7bf7 tabs -> spaces
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 3
diff changeset
6 ZSH=$HOME/.oh-my-zsh
0
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
7 . $HOME/.zsh-env/oh-my-zsh
3
d31291a406ed look for oh-my-zsh in a system wide folder
Dirk Olmes <dirk.olmes@exentra.de>
parents: 1
diff changeset
8 elif [ -d /var/lib/zsh/oh-my-zsh ]; then
6
ff5e785e7bf7 tabs -> spaces
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 3
diff changeset
9 ZSH=/var/lib/zsh/oh-my-zsh
ff5e785e7bf7 tabs -> spaces
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 3
diff changeset
10 . $HOME/.zsh-env/oh-my-zsh
0
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
11 fi
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
12
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
13 # get rid of some unwanted aliases from the oh-my-zsh env
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
14 unalias l
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
15 unalias lsa
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
16
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
17 # custom function that should work on all platforms
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
18 cd() { builtin cd "$@"; print -D $PWD; }
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
19 ff() { find $2 -print0 | xargs -0 grep $1 }
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
20 hgrep() { history | grep $* }
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
21 mcd() { mkdir $1; cd $1 }
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
22 psg() { ps auxww | grep -v grep | grep -i "$@" }
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
23
10
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
24 # no history handling for now ... or find a better way to save history per shell not across all shells
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
25 export HISTFILE=
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
26
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
27 # emulate tcsh's behaviour for forked processes: do not warn, do not kill when shell is closed
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
28 setopt nohup
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
29 setopt no_check_jobs
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
30
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
31 # $HOST can either be just the host name or the FQDN. Standardize on the raw host name
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
32 export HOST=`echo $HOST | awk -F '.' '{ print $1 }'`
6c4ab833e66d emulate tcsh's subprocess behaviour: automatically nohup the jobs, do not warn when exiting the shell
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 9
diff changeset
33
0
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
34 # utility function that is used by various other modules
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
35 removeFromPath() {
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
36 search_term="$1"
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
37 split_path=(${(s/:/)PATH})
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
38 clean_path=""
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
39 for element in ${split_path}
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
40 do
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
41 if [[ "${element}" =~ "${search_term}" ]]; then
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
42 continue
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
43 fi
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
44
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
45 if [ ${#clean_path} -eq 0 ]; then
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
46 clean_path="${element}"
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
47 else
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
48 clean_path="${clean_path}:${element}"
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
49 fi
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
50 done
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
51 echo "${clean_path}"
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
52 }
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
53
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
54 # include a zshrc per OS type
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
55 local os_zshrc=$HOME/.zsh-env/zshrc-$OSTYPE
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
56 if [ -f ${os_zshrc} ]; then
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
57 . ${os_zshrc}
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
58 fi
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
59
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
60 # include a zshrc per host
1
e12c50e8ea8c use the builtin HOST variable
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 0
diff changeset
61 local host_zshrc=$HOME/.zsh-env/zshrc-${HOST}
0
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
62 if [ -r ${host_zshrc} ]; then
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
63 . ${host_zshrc}
8b245298349a zsh environment - initial import
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
64 fi