-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.zsh_aliases
More file actions
96 lines (78 loc) · 2.06 KB
/
.zsh_aliases
File metadata and controls
96 lines (78 loc) · 2.06 KB
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
# Locale
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
# Shell behavior
setopt no_beep
setopt INC_APPEND_HISTORY
setopt auto_pushd
# Vi mode
bindkey -v
bindkey -r '^L'
# Vi mode yank to system clipboard (cross-platform)
function vi-yank-xclip {
zle vi-yank
if command -v pbcopy &>/dev/null; then
echo "$CUTBUFFER" | pbcopy
elif command -v xclip &>/dev/null; then
echo "$CUTBUFFER" | xclip -selection clipboard
fi
}
zle -N vi-yank-xclip
bindkey -M vicmd 'y' vi-yank-xclip
# COLORS
solarized_base0="244"
solarized_yellow="136"
solarized_orange="166"
solarized_red="160"
solarized_magenta="125"
solarized_violet="61"
solarized_blue="33"
solarized_cyan="37"
solarized_green="64"
# Add vim info to prompt
# # http://pawelgoscicki.com/archives/2012/09/vi-mode-indicator-in-zsh-prompt/
vim_ins_mode="%F{$solarized_base0}[INS]%f"
vim_cmd_mode="%F{$solarized_magenta}[CMD]%f"
vim_mode=$vim_ins_mode
function zle-keymap-select {
vim_mode="${${KEYMAP/vicmd/${vim_cmd_mode}}/(main|viins)/${vim_ins_mode}}"
zle reset-prompt
}
zle -N zle-keymap-select
function zle-line-finish {
vim_mode=$vim_ins_mode
}
zle -N zle-line-finish
function TRAPINT() {
vim_mode=$vim_ins_mode
return $(( 128 + $1 ))
}
# Add git info to prompt
autoload -Uz vcs_info
precmd() { vcs_info }
# Format the vcs_info_msg_0_ variable
zstyle ':vcs_info:git:*' formats '(%b)'
# Set up the prompt (with git branch name)
setopt PROMPT_SUBST
PROMPT='${vim_mode} %F{$solarized_blue}%~%f %F{$solarized_yellow}${vcs_info_msg_0_}%f: '
# colors
autoload -U colors
colors
# History configuration
HISTFILE=~/.zsh_history
HISTSIZE=50000
SAVEHIST=100000
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_SPACE
setopt SHARE_HISTORY
setopt APPEND_HISTORY
# Auto completion
# http://lethalman.blogspot.com/2009/10/speeding-up-zsh-completion.html
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
autoload -Uz compinit && compinit
if [ -f ~/dotfiles/.aliases ]; then
source ~/dotfiles/.aliases
fi
eval "$(/opt/homebrew/bin/fzf --zsh)"