summaryrefslogtreecommitdiffstats
path: root/dot_config/zsh/dot_zshopts
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config/zsh/dot_zshopts')
-rw-r--r--dot_config/zsh/dot_zshopts80
1 files changed, 80 insertions, 0 deletions
diff --git a/dot_config/zsh/dot_zshopts b/dot_config/zsh/dot_zshopts
new file mode 100644
index 0000000..d8db626
--- /dev/null
+++ b/dot_config/zsh/dot_zshopts
@@ -0,0 +1,80 @@
+#! /usr/bin/env zsh
+
+# create hist directory if it doesn't exist
+if [ -z "$XDG_STATE_HOME/zsh" ]; then
+ mkdir -p "$XDG_STATE_HOME/zsh"
+fi
+
+# History settings
+HISTSIZE=9999999999
+SAVEHIST=$HISTSIZE
+HISTFILE="$XDG_STATE_HOME"/zsh/history
+
+setopt append_history # append the history
+setopt inc_append_history # append to history in the current
+ # session and not just when the session ends
+setopt share_history # share history between sessions
+setopt extended_history # include statistics of when/how long/etc a
+ # command has run
+setopt hist_ignore_dups # do not store dupes executed after eachother
+setopt hist_ignore_all_dups # removes copies of the same line
+setopt hist_expire_dups_first # removes copies when the histfile fills up
+setopt hist_save_no_dups # don't save dupes from the same session
+setopt hist_find_no_dups # if we find dupes in the history, don't show
+ # them in editor commands)
+setopt hist_reduce_blanks # remove blank lines from the command which
+ # mean nothing to the shell
+
+setopt HIST_VERIFY # Don't execute immediately upon history expansion.
+setopt BANG_HIST # Treat the '!' character specially during expansion.
+
+setopt complete_aliases # complete aliases
+setopt complete_in_word # complete in the middle of a word
+
+setopt hist_reduce_blanks
+
+setopt hist_ignore_space # lines starting with space don't go into the
+ # history
+setopt no_hist_beep # silence..!
+setopt hist_verify
+setopt hist_no_store # don't store history/fc commands
+#setopt hist_no_functions # don't show history of function definitions
+
+setopt bg_nice # nice bg commands
+setopt notify # notify when a command returns exit code
+
+setopt no_beep # silence..!
+
+setopt auto_cd # cd to a directory if it's the only argument
+setopt extendedglob # ls ^bla.* will not show ^bla.txt for example
+
+setopt correct # correct incorrent cmd's
+setopt correctall # correct everything, use
+ # `nocorrect mv foo bar` to negate this feature
+ # for a command
+
+setopt hash_list_all # fill the lookup table for tab completions
+
+unsetopt promptcr # prevent the prompt overwriting output when
+ # there is no newline
+
+unsetopt nomatch #
+setopt prompt_subst # Enable prompt substition
+
+setopt glob_subst # global substitution
+setopt globdots # Also look for . files
+
+setopt longlistjobs
+setopt completeinword
+
+# Directories
+setopt auto_pushd # cd foo == pushd foo
+setopt pushd_ignore_dups # no duplicates in the list
+setopt pushdminus
+setopt auto_name_dirs # foo=/path/to/foo is the same as
+ # hash -d foo=/path/to/foo
+
+# Misc
+setopt interactive_comments # $ # foo doesn't become an error when hitting
+ # enter
+