annotate dot_zshrc @ 531:5d57fac601e3

Add zsh autosuggest plugin
author zegervdv <zegervdv@me.com>
date Sun, 23 Jan 2022 11:43:54 +0100
parents ee04e4821479
children 22fb4745cb1b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
1 # vim:ft=zsh
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
2
262
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
3 source ~/.zsh/zsh-history-substring-search.zsh
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
4 export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=green,fg=black'
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
5
531
5d57fac601e3 Add zsh autosuggest plugin
zegervdv <zegervdv@me.com>
parents: 508
diff changeset
6 source ~/.zsh/zsh-autosuggestions.zsh
5d57fac601e3 Add zsh autosuggest plugin
zegervdv <zegervdv@me.com>
parents: 508
diff changeset
7
293
b29fc37fe1f0 Set TERM to xterm-256color
Zeger Van de Vannet <zegervdv@me.com>
parents: 289
diff changeset
8 export TERM=xterm-256color
b29fc37fe1f0 Set TERM to xterm-256color
Zeger Van de Vannet <zegervdv@me.com>
parents: 289
diff changeset
9
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 export LC_ALL=$LANG
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
11
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 PROMPT='%F{cyan}%T%f %F{red}%m%f %F{blue}%~%b%f
265
b853d45b97d3 Style tune-ups for zsh
zegervdv <zegervdv@me.com>
parents: 263
diff changeset
13 %j -> '
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
14
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
15
265
b853d45b97d3 Style tune-ups for zsh
zegervdv <zegervdv@me.com>
parents: 263
diff changeset
16 vim_ins_mode="%F{black}%K{yellow} INS %k%f"
266
7a275f0d38e8 Use red to indicate Normal mode in zsh prompt
zegervdv <zegervdv@me.com>
parents: 265
diff changeset
17 vim_cmd_mode="%F{white}%K{red} NRM %k%f"
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 vim_mode=$vim_ins_mode
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
19
262
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
20 # Cursor mapping from nyquase/vi-mode
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
21 function select_cursor() {
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
22 case $KEYMAP in
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
23 # Block cursor in normal and visual mode
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
24 vicmd) echo -ne "\e[2 q";;
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
25 # Line cursor in insert mode
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
26 main|viins) echo -ne "\e[5 q";;
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
27 # Else Block cursor
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
28 *) echo -ne "\e[2 q";;
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
29 esac
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
30 }
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
31
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
32 function zle-keymap-select {
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
33 vim_mode="${${KEYMAP/vicmd/${vim_cmd_mode}}/(main|viins)/${vim_ins_mode}}"
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
34 zle reset-prompt
262
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
35 zle -R
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
36 select_cursor
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
37 }
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 zle -N zle-keymap-select
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
39
262
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
40 function zle-line-init() {
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
41 echoti smkx
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
42 zle reset-prompt
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
43 select_cursor
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
44 }
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
45 zle -N zle-line-init
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
46
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 function zle-line-finish {
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 vim_mode=$vim_ins_mode
262
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
49 echoti rmkx
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
50 echo -ne "\e[2 q"
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 }
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 zle -N zle-line-finish
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
53
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 function TRAPINT() {
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
55 vim_mode=$vim_ins_mode
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
56 return $(( 128 + $1 ))
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 }
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
58
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 RPROMPT='${vim_mode}'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
60
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
61 zmodload -i zsh/complist
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
62
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 bindkey -v
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
64
262
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
65 bindkey '^[[A' history-substring-search-up
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
66 bindkey '^[[B' history-substring-search-down
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
67 bindkey "$terminfo[kcuu1]" history-substring-search-up
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
68 bindkey "$terminfo[kcud1]" history-substring-search-down
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
69 bindkey '^p' history-substring-search-up
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
70 bindkey '^n' history-substring-search-down
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
71
531
5d57fac601e3 Add zsh autosuggest plugin
zegervdv <zegervdv@me.com>
parents: 508
diff changeset
72 bindkey '^ ' autosuggest-accept
5d57fac601e3 Add zsh autosuggest plugin
zegervdv <zegervdv@me.com>
parents: 508
diff changeset
73
263
fab71b4ac0b9 Colorscheme fixes
zegervdv <zegervdv@me.com>
parents: 262
diff changeset
74 export LESS_TERMCAP_mb=$(printf "\e[1;31m")
fab71b4ac0b9 Colorscheme fixes
zegervdv <zegervdv@me.com>
parents: 262
diff changeset
75 export LESS_TERMCAP_md=$(printf "\e[1;31m")
fab71b4ac0b9 Colorscheme fixes
zegervdv <zegervdv@me.com>
parents: 262
diff changeset
76 export LESS_TERMCAP_me=$(printf "\e[0m")
fab71b4ac0b9 Colorscheme fixes
zegervdv <zegervdv@me.com>
parents: 262
diff changeset
77 export LESS_TERMCAP_se=$(printf "\e[0m")
fab71b4ac0b9 Colorscheme fixes
zegervdv <zegervdv@me.com>
parents: 262
diff changeset
78 export LESS_TERMCAP_so=$(printf "\e[1;44;33m")
fab71b4ac0b9 Colorscheme fixes
zegervdv <zegervdv@me.com>
parents: 262
diff changeset
79 export LESS_TERMCAP_ue=$(printf "\e[0m")
fab71b4ac0b9 Colorscheme fixes
zegervdv <zegervdv@me.com>
parents: 262
diff changeset
80 export LESS_TERMCAP_us=$(printf "\e[1;32m")
262
44d179225271 Add history substring search plugin
zegervdv <zegervdv@me.com>
parents: 261
diff changeset
81
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 export CLICOLOR=1
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
83 export LS_COLORS='no=00;37:fi=00:di=00;33:ln=04;36:pi=40;33:so=01;35:bd=40;33;01:'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
84
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 # Options
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 setopt monitor
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
87 setopt auto_cd
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
88 setopt cdablevars
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 setopt pushd_ignore_dups
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
90 setopt interactive_comments
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
91 setopt append_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
92 setopt inc_append_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
93 setopt hist_ignore_dups
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
94 setopt hist_find_no_dups
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 setopt hist_reduce_blanks
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
96 setopt extended_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 setopt hist_expire_dups_first
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
98 setopt hist_verify
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
99 setopt share_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
100 setopt transient_rprompt
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
101 setopt prompt_subst
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
102 setopt multios
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
103 setopt correct_all
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
104 setopt autopushd
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 setopt pushdminus
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
106 setopt pushdsilent
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
107 setopt nobeep
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
108 setopt notify
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
109 REPORTTIME=5
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
110
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
111 HISTSIZE=3000
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
112 SAVEHIST=3000
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
113 HISTFILE=~/.zsh_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
114
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
115 # Completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
116 setopt complete_in_word
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
117 setopt always_to_end
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
118 setopt auto_menu
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
119
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
120 # activate color-completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
121 zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
122
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
123 # format on completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
124 zstyle ':completion:*:descriptions' format $'%{\e[0;31m%}completing %B%d%b%{\e[0m%}'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
125
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
126 # insert all expansions for expand completer
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
127 zstyle ':completion:*:expand:*' tag-order all-expansions
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
128 zstyle ':completion:*:history-words' list false
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
129
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
130 # activate menu
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
131 zstyle ':completion:*:history-words' menu yes
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
132
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
133 # ignore duplicate entries
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
134 zstyle ':completion:*:history-words' remove-all-dups yes
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
135 zstyle ':completion:*:history-words' stop yes
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
136
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
137 zstyle ':completion:*:matches' group 'yes'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
138 zstyle ':completion:*' group-name ''
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
139 if [[ "$NOMENU" -eq 0 ]] ; then
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
140 # if there are more than 5 options allow selecting from a menu
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
141 zstyle ':completion:*' menu select=5
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
142 else
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
143 # don't use any menus at all
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
144 setopt no_auto_menu
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
145 fi
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
146
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
147 zstyle ':completion:*:messages' format '%d'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
148 zstyle ':completion:*:options' auto-description '%d'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
149
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
150 # describe options in full
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
151 zstyle ':completion:*:options' description 'yes'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
152
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
153 # complete manual by their section
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
154 zstyle ':completion:*:manuals' separate-sections true
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
155 zstyle ':completion:*:manuals.*' insert-sections true
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
156 zstyle ':completion:*:man:*' menu yes select
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
157
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
158 # Search path for sudo completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
159 zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
160 /usr/local/bin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
161 /usr/sbin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
162 /usr/bin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
163 /sbin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
164 /bin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
165 /usr/X11R6/bin
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
166
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
167 # provide .. as a completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
168 zstyle ':completion:*' specal-dirs ..
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
169
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
170 # case insensitive path-completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
171 zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
172
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
173 # nvim completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
174 zstyle ':completion::*:nvim:*' ignored-patterns '*.(o|hex|elf|pyc|pdf|dup)'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
175
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
176 autoload -U compinit && compinit
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
177
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
178 # fg when pressing Ctrl+Z
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
179 function fancy-ctrl-z () {
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
180 if [[ $#BUFFER -eq 0 ]]; then
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
181 if [[ $(jobs | wc -l) -gt 0 ]]; then
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
182 BUFFER='fg'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
183 zle accept-line
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
184 fi
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
185 else
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
186 zle push-input
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
187 zle clear-screen
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
188 fi
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
189 }
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
190 zle -N fancy-ctrl-z
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
191 bindkey '^Z' fancy-ctrl-z
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
192
300
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
193 # Ctags based completion for rg
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
194 _rg() {
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
195 if (( CURRENT == 2 )); then
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
196 compadd $(cut -f 1 tags tmp/tags 2>/dev/null | grep -v '!_TAG')
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
197 fi
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
198 }
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
199
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
200 compdef _rg rg
c49fb04cf6da Autocomplete rg search terms with ctags data
zegervdv <zegervdv@me.com>
parents: 293
diff changeset
201
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
202 # Aliases
479
85bc5605b2e0 Remove hyperlinks from ls
zegervdv <zegervdv@me.com>
parents: 468
diff changeset
203 alias l="ls -haltr"
85bc5605b2e0 Remove hyperlinks from ls
zegervdv <zegervdv@me.com>
parents: 468
diff changeset
204 alias ll="ls -haltr"
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
205 alias xclip='xclip -selection clipboard'
269
f89fb61cbfb2 Add view alias
zegervdv <zegervdv@me.com>
parents: 267
diff changeset
206 alias view='nvim -R'
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
207
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
208 # Exports
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
209 export XDG_CONFIG_HOME=$HOME/.config
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
210 export PATH=$HOME/bin:$PATH
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
211
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
212 export EDITOR=nvim
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
213 export HGEDITOR=nvim
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
214
504
1403bfc694e4 Add ripgrep configuration file
zegervdv <zegervdv@me.com>
parents: 491
diff changeset
215 export RIPGREP_CONFIG_PATH=$HOME/.config/ripgrep/ripgreprc
506
36ba70d17fd6 Add One Dark theme for bat
zegervdv <zegervdv@me.com>
parents: 504
diff changeset
216 export BAT_CONFIG_PATH=$HOME/.config/bat/config
504
1403bfc694e4 Add ripgrep configuration file
zegervdv <zegervdv@me.com>
parents: 491
diff changeset
217
267
3f2021447193 setup ultisnips keys
zegervdv <zegervdv@me.com>
parents: 266
diff changeset
218 [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
219 export FZF_DEFAULT_COMMAND='ag -g ""'
267
3f2021447193 setup ultisnips keys
zegervdv <zegervdv@me.com>
parents: 266
diff changeset
220 [ -f ~/.zshrc.local ] && source ~/.zshrc.local
491
f1d1eab204aa Fix paths to nvim for SUDO_EDITOR
zegervdv <zegervdv@me.com>
parents: 490
diff changeset
221
f1d1eab204aa Fix paths to nvim for SUDO_EDITOR
zegervdv <zegervdv@me.com>
parents: 490
diff changeset
222 # Must run after brew is loaded
f1d1eab204aa Fix paths to nvim for SUDO_EDITOR
zegervdv <zegervdv@me.com>
parents: 490
diff changeset
223 export SUDO_EDITOR=$(which nvim)
508
ee04e4821479 load direnv settings
zegervdv <zegervdv@me.com>
parents: 506
diff changeset
224 eval "$(direnv hook zsh)"