-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdot_zshrc
98 lines (76 loc) · 2.63 KB
/
dot_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
fpath=( "${fpath[@]}" "$HOME/.zshfunctions")
# Only add 'pure' to path if git repo has been cloned
if [[ -d $HOME/.zsh/pure ]]; then
fpath+=($HOME/.zsh/pure)
fi
if [[ -d $HOME/.zsh-completions/src ]]; then
fpath+=$HOME/.zsh-completions/src
fi
#
# Autoload all functions in .zshfunctions
autoload -Uz $HOME/.zshfunctions/**
setopt histignorealldups sharehistory
# Undo the Devil's ding. Note that zsh doesn't read .inputrc :-/
# This should turn off all beeps... but it doesn't.
unsetopt beep
# Turn off autocompletion beep
unsetopt list_beep
# Turn off beep when going beyond history
unsetopt hist_beep
# Use vi keybindings
bindkey -v
# Keep 1000 lines of history within the shell and save it to ~/.zsh_history:
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=~/.zsh_history
export CLICOLORS=1
export LSCOLORS=GxFxCxDxBxegedabagaced
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct
#zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
zstyle ':completion:*:default' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
autoload -Uz promptinit
promptinit
if [[ -d $HOME/.zsh/pure ]]; then
# Disable 'pure' theme from checking git remote status because it is a pain
# with 1Password's SSH integration.
PURE_GIT_PULL=0
prompt pure
else
prompt zefram
fi
# Use modern completion system
autoload -Uz compinit
compinit
if command -v gotop &> /dev/null; then
alias gotop="gotop -c solarized"
fi
if command -v nvim &> /dev/null; then
alias vim=nvim
alias vi=nvim
fi
if command -v go-task &> /dev/null; then
# task is called go-task in Fedora :-/
alias task=go-task
fi
if [[ "$TERM" = "xterm-kitty" ]]; then
alias ssh="kitty +kitten ssh"
alias icat="kitty +kitten icat"
alias unicode="kitty +kitten unicode_input"
alias diff="kitty +kitten diff"
fi
if [ -d "$HOME/.homebrew/Cellar/helix/23.10/libexec/runtime" ]; then
export HELIX_RUNTIME="$HOME/.homebrew/Cellar/helix/23.10/libexec/runtime"
fi