-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzshrc
155 lines (121 loc) · 5.55 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
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
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="/home/pmyjavec/.oh-my-zsh"
# 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
ZSH_THEME="spacehsip"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# Caution: this setting can cause issues with multiline prompts (zsh 5.7.1 and newer seem to work)
# See https://github.com/ohmyzsh/ohmyzsh/issues/5765
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# 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="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git vi-mode history-substring-search python fzf tmux z)
export FZF_DEFAULT_COMMAND='ag -g ""'
#
source $ZSH/oh-my-zsh.sh
# --------------------------------------------------------------------------------
export EDITOR='nvim' # Set NeoVim as my default editor
export PAGER="less -FirSwX" # Use less as the default pager
export MANPAGER="$PAGER" # Use default pager for reading man pages
HISTFILE=~/.histfile # Where to save history
HISTSIZE=5000 # Length of history to keep in buffer
SAVEHIST=10000 # Length of history to save
setopt share_history # Share history between sessions
setopt autocd # Enter directory name to cd to that directory
setopt prompt_subst # Re-evaluate, expand prompt on each command
bindkey -v # Use VI key bindings
# --------------------------------------------------------------------------------
# Alias and Bindings
# --------------------------------------------------------------------------------
# Allow editing of current command
#autoload edit-command-line
#zle -N edit-command-line
#bindkey -M vicmd v edit-command-line
#bindkey '^k' history-beginning-search-backward
#bindkey '^j' history-beginning-search-forward # vim style searching
alias ls="ls --color -l"
alias hi='history | tail -20'
alias vi=nvim
alias vim=nvim
alias sc="sudo systemctl"
alias v=nvim
alias gr=grep
alias xcopy='xclip -selection clipboard'
alias xpaste='xclip -selection clipboard -o'
alias grom="git pull -r origin master"
# --------------------------------------------------------------------------------
# Environment Setup
# --------------------------------------------------------------------------------
eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
# Golang environment setup
export GOPATH="$HOME/projects/go"
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$HOME/bin
# https://github.com/junegunn/fzf#respecting-gitignore-hgignore-and-svnignore
export AWS_SDK_LOAD_CONFIG=true
# aws-vault Config
export AWS_VAULT_BACKEND=secret-service
#export AWS_VAULT_PROMPT=ykman
#export AWS_VAULT_PASS_CMD=gopass
#export AWS_VAULT_PASS_PREFIX=aws-vault
#export $(gnome-keyring-daemon -s)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
eval "$(direnv hook zsh)"
for role in $( aws-vault list --profiles ); do
eval "${role}() { export AWS_PROFILE=${role}; }"
done
. $HOME/.asdf/asdf.sh
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi