-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathS10_zshopts
180 lines (168 loc) · 9.23 KB
/
S10_zshopts
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
26
27
28
29
30
31
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
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
#!/bin/zsh
autoload -U is-at-least
#[ a ]##########################################################################
setopt aliases # expand aliases
setopt all_export # define = export
#setopt always_last_prompt #
setopt always_to_end # always go to end of word after completion
setopt append_history # append to history, dont truncate it
setopt auto_cd # do cd path if only 'path' is given as command
setopt auto_continue # send SIGCONT to jobs disowned
setopt auto_list # list choice on ambiguous command
setopt auto_menu # show menu for completion
setopt no_autoname_dirs # after foo=/absolute/path, ~foo may expand to
# /absolute/path, but `%~' in prompt won't give
# `~foo' until `~foo' has been used (rtfm closely)
setopt auto_param_keys # remove trailing spaces after completion if needed
setopt auto_param_slash # add slash for directories
setopt auto_pushd # cd = pushd
setopt auto_remove_slash # remove slash on dirs if word separator added
setopt auto_resume # simgle word resume if possible
#[ b ]##########################################################################
setopt bad_pattern # warn on bad file patterns
setopt bang_hist # yeah ! expansion
setopt bare_glob_qual # () is quaifier list
setopt no_bash_auto_list # auto_list is sufficient, i want it on first tab
setopt beep # beep me o yeah
setopt no_bg_nice # don't renice jobs in bg
setopt brace_ccl # expand of {adasd}
setopt no_bsd_echo # dont want BSD echo compat
#[ c ]##########################################################################
setopt case_glob # case sensitive globbing
setopt c_bases # understand 12#120 as 120 in base 12
setopt no_cdable_vars # dont add ~ automagically
setopt no_chase_dots # foo/bar/.. is foo/ even if bar is a symlink
setopt chase_links # cd to a symlink is in fact cd to the true dir
setopt check_jobs # check jobs on exit
setopt clobber # redirection can create files
setopt complete_aliases # dont replace alias before completion
setopt complete_in_word # we want completion to be done from cursor in word
setopt correct # try to correct command line
setopt no_correct_all # don't coorect args
setopt no_csh_junkiehistory # csh sucks
setopt no_csh_junkie_loops # want do /list/; done
setopt no_csh_junkie_quotes # csh quote rules sucks too
setopt no_csh_nullcmd # want to keep my (READ)?NULLCMD settings
setopt no_csh_null_glob # don't erase not matched globs silently
#[ d-g ]########################################################################
setopt no_dvorak # use only regular (qw|az)erty
setopt no_emacs # use rather bindkeys that builtin
setopt equals # perform = file expansions
setopt no_err_exit # don't weant to see exit status even if nonzero
setopt no_err_return # no return from a function with non 0 ending cmds
setopt exec # sure we want to exec commands
setopt extended_glob # #,~,^ expansion
setopt no_extended_history # regular history
setopt no_flow_control # ignore ^S/^Q
setopt function_argzero # $0 == name of script
setopt glob # sure i want globbing
setopt no_global_export # local vars are not globals one
setopt global_rcs # use global rcs
setopt no_glob_assign # no globbing on foo=*, use foo=(*)
setopt no_glob_complete # don't generate matches and cycle through them
setopt no_glob_dots # not require . in filename to be match explicitely
setopt no_glob_subst # no recursive expansion
#[ h-j ]########################################################################
setopt hash_cmds # do not always search through path, hash cmds
setopt hash_dirs # hash directories holding commands too
setopt hash_list_all # verify path hash on completion
setopt hist_allow_clobber # add | to redirections in history
setopt no_hist_beep # don't beep on history expansion errors
#setopt hist_expire_dups_first
setopt hist_find_no_dups # don't show dups even if not contiguous
setopt hist_ignore_all_dups # ignore all -- even non contiguous -- dups
#setopt hist_ignore_dups # ignore contiguous dups
setopt no_hist_ignore_space # historify commands with spaces too
setopt hist_no_functions # don't save functions defs in history
setopt hist_no_store # remove hists access cmds from hist
setopt hist_reduce_blanks # remove superfluous blanks
setopt hist_save_no_dups # no dups on history saving
setopt hist_verify # some expansion gadget
setopt no_hup # don't SIGHUP bg cmds on logout
setopt no_ignore_braces # do braces expansion
setopt no_ignore_eof # don't ignore ^D
setopt no_inc_appendhistory # dont' append incrementally
#setopt interactive
setopt interactive_comments # allow comments in interactive shell
#[ k-o ]########################################################################
setopt no_ksh_arrays # don't emulate ksh arrays
setopt no_ksh_autoload # don't do some dark autoload on function call
setopt no_ksh_glob # ignore @ before ()
setopt ksh_option_print # modify setopt output
setopt no_ksh_typeset # use zsh typeset
setopt list_ambiguous # unambiguous prefix completion is done silently
setopt no_list_beep # don't beep for completion
setopt list_packed # different width for completion
setopt no_list_rows_first # sort by colums
setopt list_types # show types of listing files
#setopt local_* # used in functions RTFM
#setopt login # don't have to do it myself
setopt long_list_jobs # list jobs in long format
setopt magic_equal_subst # foo= is file expanded
setopt no_mail_warning # auto-explained
setopt mark_dirs # adds / on dirs in filename completion
setopt no_menu_complete # don't show menu on ambiguous completion
setopt monitor # job control
setopt multios # multi redirection allowed
setopt nomatch # print error on non matched patterns
setopt notify # notify immediately, not on next prompt
setopt no_null_glob # don't delete not matched globs
setopt numeric_glob_sort # sort in numeric order rather than lexicographic
setopt no_octal_zeroes # 010 = 9 sucks
setopt no_overstrike # dont start le in overstrike mode
#[ p-r ]########################################################################
setopt path_dirs # search in path even if cmd has '/' in it
setopt no_posix_builtins # yeah don't like posix, i'm a rebel
setopt print_eight_bit # just to be sure
#setopt privileged #
setopt no_prompt_bang # dont perform history expansion in prompt
setopt no_prompt_cr # don'tprint <cr> before prompt ---> see precmd !
setopt prompt_percent # expand % escapes in prompt
setopt prompt_subst # subts in prompt
setopt pushd_ignore_dups # ignore dups in pushd
#setopt pushd_minus # exchange +/-
setopt pushd_silent # don't print stack after push/pop
setopt pushd_to_home # pushd == pushd $HOME
setopt rc_expand_param # some expansion trick for arrays in params
setopt rc_quotes # '' == ' in 'quoted exprs
setopt rcs # source all /etc rcs
setopt no_rec_exact # recognize exact match even if ambiguous
#setopt restricted #
setopt no_rm_star_silent # ask user before rm foo/*
setopt no_rm_star_wait # dont't idle 10 seconds
#[ s-z ]########################################################################
setopt no_share_history # traditional bash-history
setopt no_sh_file_expansion # dont expand filnames first
setopt no_sh_glob # allow globbing with [(|)<]
#setopt shin_stdin #
setopt no_sh_nullcmd # use my NULLCMD
setopt sh_option_letters # interprete single option letters a la ksh
setopt short_loops # short loops
setopt no_sh_word_split # `s="a b"; a=($s)' => array of length 1, not 2
#setopt single_command #
setopt no_single_line_zle # use multiline editor
setopt no_sun_keyboard_hack # i don't use sun kb
setopt transient_rprompt # better for cut/paste
#setopt typeset_silent #
#setopt unset #
#setopt verbose #
setopt vi # use bindkeys
setopt no_xtrace # do not debug by default
setopt zle # use zsh le
is-at-least 4.3.0 && {
unsetopt hist_save_by_copy
}
# http://xanana.ucsc.edu/~wgscott/wordpress_new/wordpress/?p=12
typeset -ga preexec_functions
typeset -ga precmd_functions
typeset -ga chpwd_functions
[ -w $zsh_cache ] && HISTFILE=$zsh_cache/history
HISTSIZE=10000 # size of history
LISTMAX=1000 # never ask
NULLCMD='cat' # use cat for > null commands
REPORTTIME=2 # report time if execution exceeds amount of seconds
SAVEHIST=10000 # maximum of history events to be save
LOGCHECK=60
watch=(notme) # watch login/logout
WORDCHARS="*?_-.[]~/&;!#$%^(){}<>"
# part of word in line editor