summaryrefslogtreecommitdiffstats
path: root/dot_config/zsh/executable_dot_zshopts
blob: cc26e74e9bb9e4fe9d61fc01bd8b7594821b6959 (plain) (blame)
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
#! /usr/bin/env zsh

# If you don't plan on reverting to bash, you can remove the link in ~/.profile
# to clean up.

# 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