Mercurial > dotfiles
annotate dot_zshrc @ 1037:38b8060cdf24
feat: install recent mercurial
author | Zeger Van de Vannet <zeger@vandevan.net> |
---|---|
date | Sun, 16 Jun 2024 20:25:12 +0200 |
parents | 8589883596fd |
children |
rev | line source |
---|---|
261 | 1 # vim:ft=zsh |
2 | |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
3 source ~/.zsh/zsh-defer.zsh |
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
4 |
534
aee830df7a88
Add zsh completions for fd and rg
zegervdv <zegervdv@me.com>
parents:
533
diff
changeset
|
5 fpath=(~/.zsh/completions $fpath) |
aee830df7a88
Add zsh completions for fd and rg
zegervdv <zegervdv@me.com>
parents:
533
diff
changeset
|
6 |
293
b29fc37fe1f0
Set TERM to xterm-256color
Zeger Van de Vannet <zegervdv@me.com>
parents:
289
diff
changeset
|
7 export TERM=xterm-256color |
645 | 8 export COLORTERM=truecolor |
293
b29fc37fe1f0
Set TERM to xterm-256color
Zeger Van de Vannet <zegervdv@me.com>
parents:
289
diff
changeset
|
9 |
567
edace2b7e913
export LC_CTYPE to enable unicode chars
Zeger Van de Vannet <zegervdv@me.com>
parents:
564
diff
changeset
|
10 export LC_ALL=en_US.UTF-8 |
edace2b7e913
export LC_CTYPE to enable unicode chars
Zeger Van de Vannet <zegervdv@me.com>
parents:
564
diff
changeset
|
11 export LC_CTYPE=en_US.UTF-8 |
261 | 12 |
642 | 13 autoload -U colors && colors |
14 | |
745
10e3f300baea
feat: add excludes for centos machines
Zeger Van de Vannet <zegervdv@me.com>
parents:
714
diff
changeset
|
15 [ -f ~/.config/zsh.env.zsh ] && source ~/.config/zsh.env.zsh |
714 | 16 source ~/.config/zsh/prompt/colors.zsh |
261 | 17 |
265 | 18 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
|
19 vim_cmd_mode="%F{white}%K{red} NRM %k%f" |
551
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
20 vim_vis_mode="%F{black}%K{blue} VIS %k%f" |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
21 vim_visline_mode="%F{black}%K{blue} VIL %k%f" |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
22 vim_rep_mode="%F{black}%K{green} REP %k%f" |
261 | 23 vim_mode=$vim_ins_mode |
24 | |
25 function TRAPINT() { | |
26 vim_mode=$vim_ins_mode | |
27 return $(( 128 + $1 )) | |
28 } | |
29 | |
551
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
30 function zvm_after_select_vi_mode() { |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
31 case $ZVM_MODE in |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
32 $ZVM_MODE_NORMAL) |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
33 vim_mode=$vim_cmd_mode |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
34 ;; |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
35 $ZVM_MODE_INSERT) |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
36 vim_mode=$vim_ins_mode |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
37 ;; |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
38 $ZVM_MODE_VISUAL) |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
39 vim_mode=$vim_vis_mode |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
40 ;; |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
41 $ZVM_MODE_VISUAL_LINE) |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
42 vim_mode=$vim_visline_mode |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
43 ;; |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
44 $ZVM_MODE_REPLACE) |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
45 vim_mode=$vim_rep_mode |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
46 ;; |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
47 esac |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
48 } |
2cce224318f9
Add mode indicators for zsh-vi-mode
zegervdv <zegervdv@me.com>
parents:
549
diff
changeset
|
49 |
659 | 50 autoload -Uz vcs_info add-zsh-hook |
535
f10b89e9aff3
Add git/hg info to zsh prompt
Zeger Van de Vannet <zegervdv@me.com>
parents:
534
diff
changeset
|
51 zstyle ':vcs_info:*' enable git hg |
f10b89e9aff3
Add git/hg info to zsh prompt
Zeger Van de Vannet <zegervdv@me.com>
parents:
534
diff
changeset
|
52 |
f10b89e9aff3
Add git/hg info to zsh prompt
Zeger Van de Vannet <zegervdv@me.com>
parents:
534
diff
changeset
|
53 zstyle ':vcs_info:*' actionformats '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' |
f10b89e9aff3
Add git/hg info to zsh prompt
Zeger Van de Vannet <zegervdv@me.com>
parents:
534
diff
changeset
|
54 zstyle ':vcs_info:*' formats '%F{4}%s%F{5}%F{3} @ %F{2}%b%f' |
f10b89e9aff3
Add git/hg info to zsh prompt
Zeger Van de Vannet <zegervdv@me.com>
parents:
534
diff
changeset
|
55 zstyle ':vcs_info:hg*:*' use-simple true |
f10b89e9aff3
Add git/hg info to zsh prompt
Zeger Van de Vannet <zegervdv@me.com>
parents:
534
diff
changeset
|
56 |
659 | 57 add-zsh-hook precmd vcs_info |
535
f10b89e9aff3
Add git/hg info to zsh prompt
Zeger Van de Vannet <zegervdv@me.com>
parents:
534
diff
changeset
|
58 |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
59 zsh-defer -c 'RPROMPT="\${vcs_info_msg_0_} \${vim_mode}"' |
261 | 60 |
61 bindkey -v | |
62 | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
63 zmodload zsh/complist |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
64 bindkey -M menuselect 'h' vi-backward-char |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
65 bindkey -M menuselect 'k' vi-up-line-or-history |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
66 bindkey -M menuselect 'j' vi-down-line-or-history |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
67 bindkey -M menuselect 'l' vi-forward-char |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
68 |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
69 # Enter interactive search |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
70 bindkey -M menuselect '^xi' vi-insert |
531 | 71 |
261 | 72 export CLICOLOR=1 |
660
407d461cd377
use vivid to generate a color theme for ls, fd, etc
zegervdv <zegervdv@me.com>
parents:
659
diff
changeset
|
73 export LS_COLORS=$(cat ~/.lscolors) |
261 | 74 |
661 | 75 export LESS_TERMCAP_mb=$'\e[1;31m' |
76 export LESS_TERMCAP_md=$'\e[38;2;47;111;159;48;2;244;250;255m' | |
77 export LESS_TERMCAP_me=$'\e[0m' | |
78 export LESS_TERMCAP_se=$'\e[0m' | |
79 export LESS_TERMCAP_so=$'\e[38;2;215;23;7m' | |
80 export LESS_TERMCAP_ue=$'\e[0m' | |
81 export LESS_TERMCAP_us=$'\e[1;32m' | |
82 export GROFF_NO_SGR=1 | |
83 | |
261 | 84 # Options |
85 setopt monitor | |
86 setopt auto_cd | |
87 setopt cdablevars | |
88 setopt pushd_ignore_dups | |
89 setopt interactive_comments | |
90 setopt append_history | |
91 setopt inc_append_history | |
92 setopt hist_ignore_dups | |
93 setopt hist_find_no_dups | |
94 setopt hist_reduce_blanks | |
95 setopt extended_history | |
96 setopt hist_expire_dups_first | |
97 setopt hist_verify | |
98 setopt share_history | |
99 setopt transient_rprompt | |
100 setopt prompt_subst | |
101 setopt multios | |
102 setopt correct_all | |
103 setopt autopushd | |
104 setopt pushdminus | |
105 setopt pushdsilent | |
106 setopt nobeep | |
107 setopt notify | |
876
8589883596fd
fix: remove pathdirs option to avoid slow path completions
Zeger Van de Vannet <zeger@vandevan.net>
parents:
846
diff
changeset
|
108 unsetopt pathdirs |
261 | 109 REPORTTIME=5 |
110 | |
657
3b903fda0c14
disable pasted text highlighting in zsh
zegervdv <zegervdv@me.com>
parents:
654
diff
changeset
|
111 zle_highlight=('paste:none') |
3b903fda0c14
disable pasted text highlighting in zsh
zegervdv <zegervdv@me.com>
parents:
654
diff
changeset
|
112 |
261 | 113 HISTSIZE=3000 |
114 SAVEHIST=3000 | |
115 | |
116 # Completion | |
117 setopt complete_in_word | |
118 setopt always_to_end | |
119 setopt auto_menu | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
120 setopt auto_param_slash |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
121 |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
122 # Enable completers |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
123 zstyle ':completion:*' completer _complete _approximate |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
124 |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
125 zstyle ':completion:*' use-cache on |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
126 zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache" |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
127 |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
128 # file list info |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
129 zstyle ':completion:*' file-list list |
261 | 130 |
131 # activate color-completion | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
132 zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} |
261 | 133 |
134 # format on completion | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
135 zstyle ':completion:*:descriptions' format $'%{\e[0;31m%}completing %B%d%b%{\e[0m%}' |
261 | 136 |
137 # insert all expansions for expand completer | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
138 zstyle ':completion:*:expand:*' tag-order all-expansions |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
139 zstyle ':completion:*:history-words' list false |
261 | 140 |
141 # activate menu | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
142 zstyle ':completion:*:history-words' menu yes |
261 | 143 |
144 # ignore duplicate entries | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
145 zstyle ':completion:*:history-words' remove-all-dups yes |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
146 zstyle ':completion:*:history-words' stop yes |
261 | 147 |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
148 zstyle ':completion:*:matches' group 'yes' |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
149 zstyle ':completion:*' group-name '' |
261 | 150 if [[ "$NOMENU" -eq 0 ]] ; then |
151 # if there are more than 5 options allow selecting from a menu | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
152 zstyle ':completion:*' menu select=5 |
261 | 153 else |
154 # don't use any menus at all | |
155 setopt no_auto_menu | |
156 fi | |
157 | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
158 zstyle ':completion:*:messages' format '%d' |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
159 zstyle ':completion:*:options' auto-description '%d' |
261 | 160 |
161 # describe options in full | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
162 zstyle ':completion:*:options' description 'yes' |
261 | 163 |
164 # complete manual by their section | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
165 zstyle ':completion:*:manuals' separate-sections true |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
166 zstyle ':completion:*:manuals.*' insert-sections true |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
167 zstyle ':completion:*:man:*' menu yes select |
261 | 168 |
169 # Search path for sudo completion | |
170 zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \ | |
171 /usr/local/bin \ | |
172 /usr/sbin \ | |
173 /usr/bin \ | |
174 /sbin \ | |
175 /bin \ | |
176 /usr/X11R6/bin | |
177 | |
178 # provide .. as a completion | |
179 zstyle ':completion:*' specal-dirs .. | |
180 | |
181 # case insensitive path-completion | |
182 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:|=*' | |
183 | |
184 # nvim completion | |
533
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
185 zstyle ':completion:*:*:nvim:*' ignored-patterns '*.(o|hex|elf|pyc|pdf|dup)' |
22fb4745cb1b
set more completion options in zsh
Zeger Van de Vannet <zegervdv@me.com>
parents:
531
diff
changeset
|
186 zstyle ':completion:*:*:nvim:*' file-sort modification |
261 | 187 |
814
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
188 # hx completion |
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
189 zstyle ':completion:*:*:hx:*' ignored-patterns '*.(o|hex|elf|pyc|pdf|dup)' |
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
190 zstyle ':completion:*:*:hx:*' file-sort modification |
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
191 |
651 | 192 if [ -z "$SSH_AUTH_SOCK" ]; then |
193 eval "$(ssh-agent)" | |
194 fi | |
195 | |
261 | 196 # fg when pressing Ctrl+Z |
197 function fancy-ctrl-z () { | |
198 if [[ $#BUFFER -eq 0 ]]; then | |
199 if [[ $(jobs | wc -l) -gt 0 ]]; then | |
200 BUFFER='fg' | |
201 zle accept-line | |
202 fi | |
203 else | |
204 zle push-input | |
205 zle clear-screen | |
206 fi | |
207 } | |
208 zle -N fancy-ctrl-z | |
209 bindkey '^Z' fancy-ctrl-z | |
210 | |
670
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
211 # Show backgrounded jobs in fzf |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
212 j() { |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
213 jobids=$(jobs) |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
214 |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
215 if [ -z "$jobids" ] |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
216 then |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
217 echo "No background jobs!" |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
218 return |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
219 fi |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
220 |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
221 id=$(echo $jobids | fzf | sed -nr 's/^\[([0-9]+)\].*/\1/p') |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
222 |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
223 fg %${id} |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
224 } |
f22ae1859c6d
Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents:
667
diff
changeset
|
225 |
261 | 226 # Aliases |
547 | 227 alias ls='ls --color=auto' |
479 | 228 alias l="ls -haltr" |
229 alias ll="ls -haltr" | |
261 | 230 alias xclip='xclip -selection clipboard' |
269 | 231 alias view='nvim -R' |
261 | 232 |
769
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
233 function nrg { |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
234 results=$(rg --vimgrep $@) |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
235 if [ $? -eq 0 ]; then |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
236 nvim -q <(echo $results) -c 'copen' |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
237 else |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
238 echo "\033[0;31mNo results\033[0m" |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
239 fi |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
240 } |
0f6f809f1d39
feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents:
758
diff
changeset
|
241 |
846
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
242 function try { |
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
243 while "$@"; do :; done |
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
244 } |
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
245 |
758
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
246 |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
247 setopt extendedglob |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
248 typeset -Ag abbreviations |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
249 abbreviations=( |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
250 # "ac" "ack -C 5__CURSOR__--ignore-dir=.build" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
251 "Ig" "| rg" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
252 "Ip" "| $PAGER" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
253 "Ih" "| head" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
254 "Ik" "| keep" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
255 "It" "| tail" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
256 "Is" "| sort" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
257 "Iv" "| ${VISUAL:-${EDITOR}}" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
258 "Iw" "| wc" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
259 "Ix" "| xargs" |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
260 "Ic" "| clip" |
791
6261642f53d7
feat: add ps abbreviation
Zeger Van de Vannet <zegervdv@me.com>
parents:
786
diff
changeset
|
261 "psa" "ps -ax -o pid,pgid,user,start_time,time,command | rg" |
758
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
262 ) |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
263 |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
264 magic-abbrev-expand() { |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
265 local MATCH |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
266 LBUFFER=${LBUFFER%%(#m)[_a-zA-Z0-9]#} |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
267 command=${abbreviations[$MATCH]} |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
268 LBUFFER+=${command:-$MATCH} |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
269 |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
270 if [[ "${command}" =~ "__CURSOR__" ]] |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
271 then |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
272 RBUFFER=${LBUFFER[(ws:__CURSOR__:)2]} |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
273 LBUFFER=${LBUFFER[(ws:__CURSOR__:)1]} |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
274 else |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
275 zle self-insert |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
276 fi |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
277 } |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
278 |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
279 no-magic-abbrev-expand() { |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
280 LBUFFER+=' ' |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
281 } |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
282 |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
283 zle -N magic-abbrev-expand |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
284 zle -N no-magic-abbrev-expand |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
285 bindkey " " magic-abbrev-expand |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
286 bindkey "^x " no-magic-abbrev-expand |
3a07cc5c825a
feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents:
756
diff
changeset
|
287 bindkey -M isearch " " self-insert |
590 | 288 |
261 | 289 # Exports |
290 export XDG_CONFIG_HOME=$HOME/.config | |
291 export PATH=$HOME/bin:$PATH | |
814
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
292 export PATH=$HOME/.local/bin:$PATH |
827
e4d67607d020
feat: install fzf and developer tools manually
zegervdv <zegervdv@me.com>
parents:
814
diff
changeset
|
293 export MANPATH=$HOME/.local/man:$MANPATH |
261 | 294 |
814
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
295 export EDITOR=hx |
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
296 export HGEDITOR=hx |
261 | 297 |
504 | 298 export RIPGREP_CONFIG_PATH=$HOME/.config/ripgrep/ripgreprc |
506 | 299 export BAT_CONFIG_PATH=$HOME/.config/bat/config |
504 | 300 |
595
daa64dbb12f9
Add default ps formatting
Zeger Van de Vannet <zegervdv@me.com>
parents:
591
diff
changeset
|
301 export PS_FORMAT='pid,pgid,state,start_time,%cpu,command' |
daa64dbb12f9
Add default ps formatting
Zeger Van de Vannet <zegervdv@me.com>
parents:
591
diff
changeset
|
302 |
791
6261642f53d7
feat: add ps abbreviation
Zeger Van de Vannet <zegervdv@me.com>
parents:
786
diff
changeset
|
303 if [ -z "$GPG_TTY" ]; then |
6261642f53d7
feat: add ps abbreviation
Zeger Van de Vannet <zegervdv@me.com>
parents:
786
diff
changeset
|
304 export GPG_TTY=$(tty) |
6261642f53d7
feat: add ps abbreviation
Zeger Van de Vannet <zegervdv@me.com>
parents:
786
diff
changeset
|
305 fi |
701 | 306 |
786 | 307 export ZK_NOTEBOOK_DIR=$HOME/notebook |
308 | |
709 | 309 autoload -U compinit |
310 | |
311 for dump in ~/.zcompdump(N.mh+24); do | |
312 compinit | |
313 done | |
314 compinit -C | |
315 | |
666
c6b8132ce55f
fix order of loading zsh scripts
zegervdv <zegervdv@me.com>
parents:
664
diff
changeset
|
316 [ -f ~/.zshrc.local ] && source ~/.zshrc.local |
c6b8132ce55f
fix order of loading zsh scripts
zegervdv <zegervdv@me.com>
parents:
664
diff
changeset
|
317 |
846
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
318 if [ -f "$HOME/bin/rtx" ]; then |
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
319 eval "$($HOME/bin/rtx activate zsh)" |
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
320 eval "$($HOME/bin/rtx hook-env)" |
8a929c957d05
feat: check if rtx can be found
Zeger Van de Vannet <zegervdv@me.com>
parents:
827
diff
changeset
|
321 fi |
663
fdce323431f4
Add asdf and config for python, neovim and direnv
zegervdv <zegervdv@me.com>
parents:
661
diff
changeset
|
322 |
814
8847b222a788
feat: enable helix as default editor
zegervdv <zegervdv@me.com>
parents:
809
diff
changeset
|
323 export SUDO_EDITOR=$(which hx) |
508 | 324 eval "$(direnv hook zsh)" |
540
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
325 |
709 | 326 zstyle ':completion:*:descriptions' format '[%d]' |
327 | |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
328 zsh-defer source ~/.zsh/zsh-history-substring-search.zsh |
650
da1e79692928
Set color of zsh history substring search
zegervdv <zegervdv@me.com>
parents:
645
diff
changeset
|
329 export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=cyan,fg=white' |
540
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
330 |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
331 zsh-defer source ~/.zsh/zsh-autosuggestions.zsh |
540
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
332 |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
333 zsh-defer source ~/.zsh/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh |
540
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
334 |
559
a47f3aab0371
Use machine specific history database
Zeger Van de Vannet <zegervdv@me.com>
parents:
553
diff
changeset
|
335 export HISTDB_FILE="${HOME}/.histdb/zsh-history-$(hostname).db" |
693
f9eadf5e6d57
feat: reduce size of history search window
zegervdv <zegervdv@me.com>
parents:
687
diff
changeset
|
336 export HISTDB_HEIGHT="70%" |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
337 zsh-defer source ~/.zsh/zsh-histdb/sqlite-history.zsh |
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
338 zsh-defer source ~/.zsh/zsh-histdb-skim/zsh-histdb-skim.zsh |
540
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
339 |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
340 zsh-defer source ~/.zsh/jq-zsh-plugin/jq.plugin.zsh |
546 | 341 |
714 | 342 source ~/.config/zsh/fzf/colors.zsh |
664 | 343 |
676
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
344 unix-word-rubout() { |
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
345 local WORDCHARS=$'!"#$%&\'()*+,-.:;<=>?@[\\]^_`{|}~' |
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
346 zle backward-kill-word |
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
347 } |
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
348 |
542 | 349 # The plugin will auto execute this zvm_after_init function |
350 function zvm_after_init() { | |
351 [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh | |
587
77280c499124
usd zsh-histdb-skim for more stable results
zegervdv <zegervdv@me.com>
parents:
569
diff
changeset
|
352 bindkey '^r' histdb-skim-widget |
569
5579d087173a
Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents:
567
diff
changeset
|
353 |
5579d087173a
Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents:
567
diff
changeset
|
354 # Postpone current command to next prompt |
542 | 355 bindkey '^t' push-line-or-edit |
356 | |
569
5579d087173a
Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents:
567
diff
changeset
|
357 # Cut current command into killring |
5579d087173a
Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents:
567
diff
changeset
|
358 bindkey '^u' backward-kill-line |
5579d087173a
Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents:
567
diff
changeset
|
359 |
542 | 360 bindkey '^[[A' history-substring-search-up |
361 bindkey '^[[B' history-substring-search-down | |
362 bindkey "$terminfo[kcuu1]" history-substring-search-up | |
363 bindkey "$terminfo[kcud1]" history-substring-search-down | |
364 bindkey '^p' history-substring-search-up | |
365 bindkey '^n' history-substring-search-down | |
366 | |
367 bindkey '^f' autosuggest-accept | |
676
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
368 |
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
369 zle -N unix-word-rubout |
128696498485
enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents:
671
diff
changeset
|
370 bindkey '^w' unix-word-rubout |
797 | 371 bindkey '^[f' insert-last-word |
372 | |
373 bindkey '^[x' execute-named-cmd | |
542 | 374 } |
375 | |
658
77f3f615e4bf
Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents:
657
diff
changeset
|
376 zsh-defer source ~/.zsh/zsh-vi-mode.zsh |
540
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
377 |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
378 _zsh_autosuggest_strategy_histdb_top_here() { |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
379 local query="select commands.argv from |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
380 history left join commands on history.command_id = commands.rowid |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
381 left join places on history.place_id = places.rowid |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
382 where places.dir LIKE '$(sql_escape $PWD)%' |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
383 and commands.argv LIKE '$(sql_escape $1)%' |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
384 group by commands.argv order by count(*) desc limit 1" |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
385 suggestion=$(_histdb_query "$query") |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
386 } |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
387 |
9036f18c5ad4
restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents:
539
diff
changeset
|
388 ZSH_AUTOSUGGEST_STRATEGY=histdb_top_here |
544
c071fc2dc6fc
Run compinit after loading all plugins and functions
zegervdv <zegervdv@me.com>
parents:
542
diff
changeset
|
389 |
597
39afef47145e
Disable bracketed paste for TMUX
Zeger Van de Vannet <zegervdv@me.com>
parents:
595
diff
changeset
|
390 if [ ${TMUX} ]; then |
39afef47145e
Disable bracketed paste for TMUX
Zeger Van de Vannet <zegervdv@me.com>
parents:
595
diff
changeset
|
391 unset zle_bracketed_paste |
39afef47145e
Disable bracketed paste for TMUX
Zeger Van de Vannet <zegervdv@me.com>
parents:
595
diff
changeset
|
392 fi |
671
951bf1353641
remove duplicate entries from zsh PATH
zegervdv <zegervdv@me.com>
parents:
670
diff
changeset
|
393 |
951bf1353641
remove duplicate entries from zsh PATH
zegervdv <zegervdv@me.com>
parents:
670
diff
changeset
|
394 # Deduplicate PATH |
951bf1353641
remove duplicate entries from zsh PATH
zegervdv <zegervdv@me.com>
parents:
670
diff
changeset
|
395 typeset -U path |