forked from mathiasbynens/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.zshrc
100 lines (75 loc) · 2.97 KB
/
.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
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
# Using custom software:
# - https://ohmyz.sh
# - https://github.com/sindresorhus/pure
# - https://github.com/lukechilds/zsh-nvm
# - https://github.com/zsh-users/zsh-autosuggestions
# - https://github.com/zsh-users/zsh-syntax-highlighting
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Disable automatic url escape
DISABLE_MAGIC_FUNCTIONS=true
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Load the shell dotfiles, and then some
for file in ~/.{exports,aliases,extra}; do
[ -r "$file" ] && source "$file"
done
unset file
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
# Leave this empty if using pure prompt
ZSH_THEME=""
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
HIST_STAMPS="%a %d-%m-%Y"
# Enable nvm lazy loading before loading the plugin
export NVM_LAZY_LOAD=true
# Disable syntax highlight for long strings (slows down paste)
export ZSH_HIGHLIGHT_MAXLENGTH=60
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git colored-man-pages zsh-nvm zsh-autosuggestions zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
# User configuration
# Enable completion
autoload -Uz compinit && compinit
# Enable case sensitivity in globs
setopt NO_CASE_GLOB
# Enable automatic cd
setopt AUTO_CD
# Share history across multiple zsh sessions
setopt SHARE_HISTORY
# Append to history
setopt APPEND_HISTORY
# Adds commands as they are typed, not at shell exit
setopt INC_APPEND_HISTORY
# Expire duplicates first
setopt HIST_EXPIRE_DUPS_FIRST
# Do not store duplications
setopt HIST_IGNORE_DUPS
# Ignore duplicates when searching
setopt HIST_FIND_NO_DUPS
# Removes blank lines from history
setopt HIST_REDUCE_BLANKS
ZSH_HIGHLIGHT_STYLES[cursor]='bg=white'
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor)
# Prevents Pure from checking whether the current Git remote has been updated.
# This prevents excessive ssh verifications to be issued
PURE_GIT_PULL=0
# Initialize pure prompt
fpath+="$HOME/.zsh/pure"
autoload -Uz promptinit && promptinit
prompt pure
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.