configs  Check-in [57e4d354a0]

Overview
Comment:zshrc: Major cleanup
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 57e4d354a03380e86fe9b14c628e857d3164b62a00644c83f0fc7e5912e9a2d8
User & Date: js 2018-10-20 15:11:17
Context
2019-01-08
01:12
vim/syntax/objc.vim: Add of_socket_address_t check-in: 56e27fc4f8 user: js tags: trunk
2018-10-20
15:11
zshrc: Major cleanup check-in: 57e4d354a0 user: js tags: trunk
2018-07-08
20:14
zshrc: Auto-detect whether to use gls / ggrep check-in: 4563b09c34 user: js tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to zshrc.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18







19
20
21
22
23
24
25
AUDIO_PLAYER="audacious"
VIDEO_PLAYER="mpv"
ARCHIVE_FORMATS=(7z bz2 gz xz tar tbz tbz2 tgz txz tar.gz tar.bz2 tar.xz rar zip)
AUDIO_PLAYER_FORMATS=(aac flac it m4a mod mp3 mpc ogg sid spc wma wv xm)
VIDEO_PLAYER_FORMATS=(avi divx flv mkv mov mpeg mp4 mpg ogm wmv)
EDITOR="vim"
PAGER="less"
GREP=""
GREP_COLOUR="auto"
FGREP=""
LS=""
LS_COLOUR="auto"
LS_ON_CD="yes"
LS_ON_INIT="no"
LS_COLORS='di=34:ow=44;37:tw=44;37:st=44;37:ex=31:su=7;31:sg=7;31:ln=33:or=7;33:pi=32:do=32:bd=35:cd=35:so=32:*.bz2=36:*.dmg=36:*.gz=36:*.gpg=36:*.rar=36:*.tar=36:*.tbz2=36:*.tgz=36:*.xz=36:*.zip=36:*.orig=90:*~=90'
FEMALE="no"	# Whether the user is female ;)
LISTMAX=32768
WORDCHARS="*?[];!#~"








bindkey -v
# history-incremental-search-backward is much more useful than
# _history-complete-*
bindkey "^R" history-incremental-search-backward
# Add a few other emacs bindings for convenience, as it's sometimes quicker to
# use those than to switch between modes.
<
<
<
<
<
|
|
<
<
<
<
<
<
<
|
<


>
>
>
>
>
>
>












1
2







3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19





export EDITOR="vim"
export PAGER="less"







export LS_COLORS='di=34:ow=44;37:tw=44;37:st=44;37:ex=31:su=7;31:sg=7;31:ln=33:or=7;33:pi=32:do=32:bd=35:cd=35:so=32:*.bz2=36:*.dmg=36:*.gz=36:*.gpg=36:*.rar=36:*.tar=36:*.tbz2=36:*.tgz=36:*.xz=36:*.zip=36:*.orig=90:*~=90'

LISTMAX=32768
WORDCHARS="*?[];!#~"
local grep=""
local grep_color="auto"
local fgrep=""
local ls=""
local ls_color="auto"
local ls_on_cd="yes"
local ls_on_init="no"

bindkey -v
# history-incremental-search-backward is much more useful than
# _history-complete-*
bindkey "^R" history-incremental-search-backward
# Add a few other emacs bindings for convenience, as it's sometimes quicker to
# use those than to switch between modes.
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

autoload -U compinit
compinit -C

# Ignore case on completion
zstyle ':completion:*' matcher-list 'm:{A-Z}={a-z} m:{a-z}={A-Z}'

if [ "$GREP" -o "$GREP_COLOUR" ]; then
	if [ -z "$GREP" ]; then
		if which ggrep &>/dev/null; then
			GREP="ggrep"
		else
			GREP="grep"
		fi
	fi
	[ ! -z "$GREP_COLOUR" -a "$GREP_COLOUR[1]" != "-" ] && \
		GREP_COLOUR="--colour=$GREP_COLOUR"
	alias grep="$GREP $GREP_COLOUR"
fi

if [ "$FGREP" -o "$GREP_COLOUR" ]; then
	if [ -z "$FGREP" ]; then
		if which ggrep &>/dev/null; then
			FGREP="ggrep -F"
		else
			FGREP="fgrep"
		fi
	fi
	[ ! -z "$GREP_COLOUR" -a "$GREP_COLOUR[1]" != "-" ] && \
		GREP_COLOUR="--colour=$GREP_COLOUR"
	alias fgrep="$FGREP $GREP_COLOUR"
fi

if [ "$LS" -o "$LS_COLOUR" ]; then
	if [ -z "$LS" ]; then
		if which gls &>/dev/null; then
			LS="gls"
		else
			LS="ls"
		fi
	fi
	[ ! -z "$LS_COLOUR" -a "$LS_COLOUR[1]" != "-" ] && \
		LS_COLOUR="--color=$LS_COLOUR"
	alias ls="$LS $LS_COLOUR"
fi

if [ "$LS_ON_CD" -a "$LS_ON_CD" != "no" ]; then
	chpwd() {
		ls
	}
fi

if [ "$TERM_PROGRAM" = "Apple_Terminal" ]; then
	update_terminal_cwd() {
		printf '\e]7;%s\a' "file://$HOSTNAME${PWD// /%20}"
	}
else
	update_terminal_cwd() {
	}
fi

set_prompt() {
	if [ "$FEMALE" = "yes" ]; then
		PS1="%m:%c$@%B%(!.#.%{$(print "\e[1;35m")%}♥"
		PS1+="%{$(print "\e[0m")%})%b "
	else
		PS1="%m:%c$@%B%(!.#.$)%b "
	fi
	PS2="%B>%b "
	RPS1="%(1j.%{$(print "\e[1;33m")%}%j%{$(print "\e[0m")%}.)"
	RPS1+="%(?..%(1j. .)%{$(print "\e[1;31m")%}%?%{$(print "\e[0m")%})"
	RPS2="%(1_.%{$(print "\e[1;30m")%}(%_%)%{$(print "\e[0m")%}.)"
}
set_prompt

_precmd() {
	update_terminal_cwd

	local branch_name
	branch_name="$(git symbolic-ref HEAD 2>/dev/null)"
	branch_name="${branch_name##refs/heads/}"
	if [ ! -z "$branch_name" -a "$branch_name" != "master" ]; then
		local branch
		branch="%{$(print "\e[1;30m")%}("
		branch+="%{$(print "\e[0;36m")%}$branch_name"
		branch+="%{$(print "\e[1;30m")%})%{$(print "\e[0m")%}"
		set_prompt "$branch"
	else
		set_prompt







|
|

|

|


|
|
|


|
|

|

|


|
|
|


|
|

|

|


|
|
|


|















<
<
<
<
|
<













|







32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93




94

95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115

autoload -U compinit
compinit -C

# Ignore case on completion
zstyle ':completion:*' matcher-list 'm:{A-Z}={a-z} m:{a-z}={A-Z}'

if [ -n "$grep" -o -n "$grep_color" ]; then
	if [ -z "$grep" ]; then
		if which ggrep &>/dev/null; then
			grep="ggrep"
		else
			grep="grep"
		fi
	fi
	[ -n "$grep_color" -a "$grep_color[1]" != "-" ] && \
		grep_color="--color=$grep_color"
	alias grep="$grep $grep_color"
fi

if [ -n "$fgrep" -o -n "$grep_color" ]; then
	if [ -z "$fgrep" ]; then
		if which ggrep &>/dev/null; then
			fgrep="ggrep -F"
		else
			fgrep="fgrep"
		fi
	fi
	[ -n "$grep_color" -a "$grep_color[1]" != "-" ] && \
		grep_color="--color=$grep_color"
	alias fgrep="$fgrep $grep_color"
fi

if [ -n "$ls" -o -n "$ls_color" ]; then
	if [ -z "$ls" ]; then
		if which gls &>/dev/null; then
			ls="gls"
		else
			ls="ls"
		fi
	fi
	[ -n "$ls_color" -a "$ls_color[1]" != "-" ] && \
		ls_color="--color=$ls_color"
	alias ls="$ls $ls_color"
fi

if [ "$ls_on_cd" = "yes" ]; then
	chpwd() {
		ls
	}
fi

if [ "$TERM_PROGRAM" = "Apple_Terminal" ]; then
	update_terminal_cwd() {
		printf '\e]7;%s\a' "file://$HOSTNAME${PWD// /%20}"
	}
else
	update_terminal_cwd() {
	}
fi

set_prompt() {




	PS1="%m:%c$@%B%(!.#.$)%b "

	PS2="%B>%b "
	RPS1="%(1j.%{$(print "\e[1;33m")%}%j%{$(print "\e[0m")%}.)"
	RPS1+="%(?..%(1j. .)%{$(print "\e[1;31m")%}%?%{$(print "\e[0m")%})"
	RPS2="%(1_.%{$(print "\e[1;30m")%}(%_%)%{$(print "\e[0m")%}.)"
}
set_prompt

_precmd() {
	update_terminal_cwd

	local branch_name
	branch_name="$(git symbolic-ref HEAD 2>/dev/null)"
	branch_name="${branch_name##refs/heads/}"
	if [ -n "$branch_name" -a "$branch_name" != "master" ]; then
		local branch
		branch="%{$(print "\e[1;30m")%}("
		branch+="%{$(print "\e[0;36m")%}$branch_name"
		branch+="%{$(print "\e[1;30m")%})%{$(print "\e[0m")%}"
		set_prompt "$branch"
	else
		set_prompt
157
158
159
160
161
162
163



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215

extr() {
	for i in $@; do
		case $i in
			*.7z)
				7za x $i
				;;



			*.tar)
				tar xfv $i
				;;
			*.tbz | *.tbz2 | *.tar.bz2)
				bzcat $i | tar xfv -
				;;
			*.tgz | *.tar.gz)
				gzcat $i | tar xfv -
				;;
			*.txz | *.tar.xz)
				xzcat $i | tar xfv -
				;;
			*.rar)
				unrar x $i
				;;
			*.zip)
				unzip $i
				;;
			# These have to be the last for obvious reasons
			*.bz2)
				bunzip2 $i
				;;
			*.gz)
				gunzip $i
				;;
			*.xz)
				unxz $i
				;;
			*)
				echo "$i: Unknown file type"
				false
				;;
		esac
	done
}

[ "$EDITOR" = "vim" ] && alias vi="vim"

for ext in $ARCHIVE_FORMATS; do alias -s $ext=extr; done

[ "$AUDIO_PLAYER" ] && \
	for ext in $AUDIO_PLAYER_FORMATS; do alias -s $ext=$AUDIO_PLAYER; done

[ "$VIDEO_PLAYER" ] && \
	for ext in $VIDEO_PLAYER_FORMATS; do alias -s $ext=$VIDEO_PLAYER; done

[ "$LS_ON_INIT" = "yes" ] && ls

unset AUDIO_PLAYER VIDEO_PLAYER
unset ARCHIVE_FORMATS AUDIO_PLAYER_FORMATS VIDEO_PLAYER_FORMATS
unset FGREP GREP GREP_COLOUR LS LS_COLOUR LS_ON_CD LS_ON_INIT
export EDITOR LS_COLORS







>
>
>

|


|


|








|






|











|
<
|
|
|
<
<

|
|

|

|
<
<
<
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191

192
193
194


195
196
197
198
199
200
201




extr() {
	for i in $@; do
		case $i in
			*.7z)
				7za x $i
				;;
			*.lha)
				ofarc -x $i
				;;
			*.tar)
				ofarc -x $i
				;;
			*.tbz | *.tbz2 | *.tar.bz2)
				bzcat $i | ofarc -ttar -x -
				;;
			*.tgz | *.tar.gz)
				ofarc -x $i
				;;
			*.txz | *.tar.xz)
				xzcat $i | tar xfv -
				;;
			*.rar)
				unrar x $i
				;;
			*.zip)
				ofarc -x $i
				;;
			# These have to be the last for obvious reasons
			*.bz2)
				bunzip2 $i
				;;
			*.gz)
				ofarc -x $i
				;;
			*.xz)
				unxz $i
				;;
			*)
				echo "$i: Unknown file type"
				false
				;;
		esac
	done
}
for ext in 7z lha tar tbz tbz2 tar.bz2 tgz tar.gz txz tar.xz rar zip bz2 gz xz

do
	alias -s "$ext=extr"
done



[ "$EDITOR" = "vim" ] && alias vi=vim
which gpg2 &>/dev/null && alias gpg=gpg2

[ "$ls_on_init" = "yes" ] && ls

unset fgrep grep grep_color ls ls_color ls_on_cd ls_on_init