annotate dot_zshrc @ 785:add486ac2046

feat: use hg-linetrace branch for diffview
author zegervdv <zegervdv@me.com>
date Fri, 05 May 2023 08:51:01 +0200
parents 288467474cb2
children 90ebb41f9b14
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
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
19ce1b93d3cf Enable truecolor in zsh
zegervdv <zegervdv@me.com>
parents: 642
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
12
642
b8f4fa2ebc4b Update colorscheme
zegervdv <zegervdv@me.com>
parents: 597
diff changeset
13 autoload -U colors && colors
b8f4fa2ebc4b Update colorscheme
zegervdv <zegervdv@me.com>
parents: 597
diff changeset
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
587765960227 feat: set global dark option
zegervdv <zegervdv@me.com>
parents: 710
diff changeset
16 source ~/.config/zsh/prompt/colors.zsh
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
17
265
b853d45b97d3 Style tune-ups for zsh
zegervdv <zegervdv@me.com>
parents: 263
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 vim_mode=$vim_ins_mode
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
24
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 function TRAPINT() {
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 vim_mode=$vim_ins_mode
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
27 return $(( 128 + $1 ))
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
28 }
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
e1a7072165ac Prompt loading speedups for zsh
zegervdv <zegervdv@me.com>
parents: 658
diff changeset
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
e1a7072165ac Prompt loading speedups for zsh
zegervdv <zegervdv@me.com>
parents: 658
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
60
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
61 bindkey -v
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
5d57fac601e3 Add zsh autosuggest plugin
zegervdv <zegervdv@me.com>
parents: 508
diff changeset
71
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
74
661
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
75 export LESS_TERMCAP_mb=$'\e[1;31m'
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
76 export LESS_TERMCAP_md=$'\e[38;2;47;111;159;48;2;244;250;255m'
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
77 export LESS_TERMCAP_me=$'\e[0m'
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
78 export LESS_TERMCAP_se=$'\e[0m'
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
79 export LESS_TERMCAP_so=$'\e[38;2;215;23;7m'
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
80 export LESS_TERMCAP_ue=$'\e[0m'
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
81 export LESS_TERMCAP_us=$'\e[1;32m'
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
82 export GROFF_NO_SGR=1
b26c4c6ac25c Fix colors for man pages
zegervdv <zegervdv@me.com>
parents: 660
diff changeset
83
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
84 # Options
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 setopt monitor
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 setopt auto_cd
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
87 setopt cdablevars
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
88 setopt pushd_ignore_dups
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 setopt interactive_comments
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
90 setopt append_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
91 setopt inc_append_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
92 setopt hist_ignore_dups
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
93 setopt hist_find_no_dups
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
94 setopt hist_reduce_blanks
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 setopt extended_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
96 setopt hist_expire_dups_first
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 setopt hist_verify
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
98 setopt share_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
99 setopt transient_rprompt
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
100 setopt prompt_subst
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
101 setopt multios
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
102 setopt correct_all
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
103 setopt autopushd
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
104 setopt pushdminus
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 setopt pushdsilent
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
106 setopt nobeep
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
107 setopt notify
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
108 REPORTTIME=5
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
109
657
3b903fda0c14 disable pasted text highlighting in zsh
zegervdv <zegervdv@me.com>
parents: 654
diff changeset
110 zle_highlight=('paste:none')
3b903fda0c14 disable pasted text highlighting in zsh
zegervdv <zegervdv@me.com>
parents: 654
diff changeset
111
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
112 HISTSIZE=3000
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
113 SAVEHIST=3000
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
114 HISTFILE=~/.zsh_history
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
115
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
116 # Completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
117 setopt complete_in_word
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
118 setopt always_to_end
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
130
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
133
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
136
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
140
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
143
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
150 if [[ "$NOMENU" -eq 0 ]] ; then
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
153 else
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
154 # don't use any menus at all
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
155 setopt no_auto_menu
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
156 fi
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
160
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
163
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
168
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
169 # Search path for sudo completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
170 zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
171 /usr/local/bin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
172 /usr/sbin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
173 /usr/bin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
174 /sbin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
175 /bin \
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
176 /usr/X11R6/bin
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
177
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
178 # provide .. as a completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
179 zstyle ':completion:*' specal-dirs ..
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
180
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
181 # case insensitive path-completion
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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:|=*'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
183
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
187
651
c6ce12cfc85f Add ssh-agent to zsh startup
zegervdv <zegervdv@me.com>
parents: 650
diff changeset
188 if [ -z "$SSH_AUTH_SOCK" ]; then
c6ce12cfc85f Add ssh-agent to zsh startup
zegervdv <zegervdv@me.com>
parents: 650
diff changeset
189 eval "$(ssh-agent)"
c6ce12cfc85f Add ssh-agent to zsh startup
zegervdv <zegervdv@me.com>
parents: 650
diff changeset
190 fi
c6ce12cfc85f Add ssh-agent to zsh startup
zegervdv <zegervdv@me.com>
parents: 650
diff changeset
191
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
192 # fg when pressing Ctrl+Z
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
193 function fancy-ctrl-z () {
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
194 if [[ $#BUFFER -eq 0 ]]; then
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
195 if [[ $(jobs | wc -l) -gt 0 ]]; then
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
196 BUFFER='fg'
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
197 zle accept-line
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
198 fi
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
199 else
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
200 zle push-input
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
201 zle clear-screen
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
202 fi
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
203 }
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
204 zle -N fancy-ctrl-z
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
205 bindkey '^Z' fancy-ctrl-z
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
206
670
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
207 # Show backgrounded jobs in fzf
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
208 j() {
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
209 jobids=$(jobs)
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
210
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
211 if [ -z "$jobids" ]
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
212 then
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
213 echo "No background jobs!"
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
214 return
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
215 fi
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
216
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
217 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
218
f22ae1859c6d Add fzf based background job finder
zegervdv <zegervdv@me.com>
parents: 667
diff changeset
219 fg %${id}
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
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
222 # Aliases
547
da72438479b0 always colorize ls output
zegervdv <zegervdv@me.com>
parents: 546
diff changeset
223 alias ls='ls --color=auto'
479
85bc5605b2e0 Remove hyperlinks from ls
zegervdv <zegervdv@me.com>
parents: 468
diff changeset
224 alias l="ls -haltr"
85bc5605b2e0 Remove hyperlinks from ls
zegervdv <zegervdv@me.com>
parents: 468
diff changeset
225 alias ll="ls -haltr"
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
226 alias xclip='xclip -selection clipboard'
269
f89fb61cbfb2 Add view alias
zegervdv <zegervdv@me.com>
parents: 267
diff changeset
227 alias view='nvim -R'
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
228
769
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
229 function nrg {
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
230 results=$(rg --vimgrep $@)
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
231 if [ $? -eq 0 ]; then
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
232 nvim -q <(echo $results) -c 'copen'
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
233 else
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
234 echo "\033[0;31mNo results\033[0m"
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
235 fi
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
236 }
0f6f809f1d39 feat: add search in neovim alias
zegervdv <zegervdv@me.com>
parents: 758
diff changeset
237
590
bfcc28bfd070 Add suffix aliases for zsh
zegervdv <zegervdv@me.com>
parents: 588
diff changeset
238 # Suffix aliases
bfcc28bfd070 Add suffix aliases for zsh
zegervdv <zegervdv@me.com>
parents: 588
diff changeset
239 alias -s py=nvim
bfcc28bfd070 Add suffix aliases for zsh
zegervdv <zegervdv@me.com>
parents: 588
diff changeset
240 alias -s sv=nvim
bfcc28bfd070 Add suffix aliases for zsh
zegervdv <zegervdv@me.com>
parents: 588
diff changeset
241 alias -s v=nvim
bfcc28bfd070 Add suffix aliases for zsh
zegervdv <zegervdv@me.com>
parents: 588
diff changeset
242 alias -s vhd=nvim
bfcc28bfd070 Add suffix aliases for zsh
zegervdv <zegervdv@me.com>
parents: 588
diff changeset
243 alias -s sh=nvim
758
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
244
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
245 setopt extendedglob
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
246 typeset -Ag abbreviations
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
247 abbreviations=(
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
248 # "ac" "ack -C 5__CURSOR__--ignore-dir=.build"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
249 "Ig" "| rg"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
250 "Ip" "| $PAGER"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
251 "Ih" "| head"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
252 "Ik" "| keep"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
253 "It" "| tail"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
254 "Is" "| sort"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
255 "Iv" "| ${VISUAL:-${EDITOR}}"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
256 "Iw" "| wc"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
257 "Ix" "| xargs"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
258 "Ic" "| clip"
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
259 )
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
260
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
261 magic-abbrev-expand() {
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
262 local MATCH
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
263 LBUFFER=${LBUFFER%%(#m)[_a-zA-Z0-9]#}
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
264 command=${abbreviations[$MATCH]}
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
265 LBUFFER+=${command:-$MATCH}
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
266
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
267 if [[ "${command}" =~ "__CURSOR__" ]]
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
268 then
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
269 RBUFFER=${LBUFFER[(ws:__CURSOR__:)2]}
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
270 LBUFFER=${LBUFFER[(ws:__CURSOR__:)1]}
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
271 else
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
272 zle self-insert
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
273 fi
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
274 }
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
275
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
276 no-magic-abbrev-expand() {
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
277 LBUFFER+=' '
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
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
280 zle -N magic-abbrev-expand
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
281 zle -N no-magic-abbrev-expand
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
282 bindkey " " magic-abbrev-expand
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
283 bindkey "^x " no-magic-abbrev-expand
3a07cc5c825a feat: add global expanding shortcuts
zegervdv <zegervdv@me.com>
parents: 756
diff changeset
284 bindkey -M isearch " " self-insert
590
bfcc28bfd070 Add suffix aliases for zsh
zegervdv <zegervdv@me.com>
parents: 588
diff changeset
285
261
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
286 # Exports
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
287 export XDG_CONFIG_HOME=$HOME/.config
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
288 export PATH=$HOME/bin:$PATH
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
289
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
290 export EDITOR=nvim
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
291 export HGEDITOR=nvim
217fba8117c8 Add zshrc file
zegervdv <zegervdv@me.com>
parents:
diff changeset
292
504
1403bfc694e4 Add ripgrep configuration file
zegervdv <zegervdv@me.com>
parents: 491
diff changeset
293 export RIPGREP_CONFIG_PATH=$HOME/.config/ripgrep/ripgreprc
506
36ba70d17fd6 Add One Dark theme for bat
zegervdv <zegervdv@me.com>
parents: 504
diff changeset
294 export BAT_CONFIG_PATH=$HOME/.config/bat/config
504
1403bfc694e4 Add ripgrep configuration file
zegervdv <zegervdv@me.com>
parents: 491
diff changeset
295
595
daa64dbb12f9 Add default ps formatting
Zeger Van de Vannet <zegervdv@me.com>
parents: 591
diff changeset
296 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
297
701
306ac9429043 feat: set tty for gpg pinentry
zegervdv <zegervdv@me.com>
parents: 693
diff changeset
298 export GPG_TTY=$(tty)
306ac9429043 feat: set tty for gpg pinentry
zegervdv <zegervdv@me.com>
parents: 693
diff changeset
299
709
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
300 autoload -U compinit
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
301
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
302 for dump in ~/.zcompdump(N.mh+24); do
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
303 compinit
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
304 done
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
305 compinit -C
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
306
666
c6b8132ce55f fix order of loading zsh scripts
zegervdv <zegervdv@me.com>
parents: 664
diff changeset
307 [ -f ~/.zshrc.local ] && source ~/.zshrc.local
c6b8132ce55f fix order of loading zsh scripts
zegervdv <zegervdv@me.com>
parents: 664
diff changeset
308
687
6aabd0b8d766 feat: install asdf directly without brew
zegervdv <zegervdv@me.com>
parents: 676
diff changeset
309 source $HOME/.asdf/asdf.sh
6aabd0b8d766 feat: install asdf directly without brew
zegervdv <zegervdv@me.com>
parents: 676
diff changeset
310 fpath=(${ASDF_DIR}/completions $fpath)
663
fdce323431f4 Add asdf and config for python, neovim and direnv
zegervdv <zegervdv@me.com>
parents: 661
diff changeset
311
fdce323431f4 Add asdf and config for python, neovim and direnv
zegervdv <zegervdv@me.com>
parents: 661
diff changeset
312 if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc" ]
fdce323431f4 Add asdf and config for python, neovim and direnv
zegervdv <zegervdv@me.com>
parents: 661
diff changeset
313 then
fdce323431f4 Add asdf and config for python, neovim and direnv
zegervdv <zegervdv@me.com>
parents: 661
diff changeset
314 source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
fdce323431f4 Add asdf and config for python, neovim and direnv
zegervdv <zegervdv@me.com>
parents: 661
diff changeset
315 fi
fdce323431f4 Add asdf and config for python, neovim and direnv
zegervdv <zegervdv@me.com>
parents: 661
diff changeset
316
491
f1d1eab204aa Fix paths to nvim for SUDO_EDITOR
zegervdv <zegervdv@me.com>
parents: 490
diff changeset
317 export SUDO_EDITOR=$(which nvim)
508
ee04e4821479 load direnv settings
zegervdv <zegervdv@me.com>
parents: 506
diff changeset
318 eval "$(direnv hook zsh)"
540
9036f18c5ad4 restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents: 539
diff changeset
319
709
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
320 zstyle ':completion:*:descriptions' format '[%d]'
0a59c00d64d9 feat: add fzf-tab plugin
zegervdv <zegervdv@me.com>
parents: 707
diff changeset
321
658
77f3f615e4bf Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents: 657
diff changeset
322 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
323 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
324
658
77f3f615e4bf Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents: 657
diff changeset
325 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
326
658
77f3f615e4bf Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents: 657
diff changeset
327 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
328
559
a47f3aab0371 Use machine specific history database
Zeger Van de Vannet <zegervdv@me.com>
parents: 553
diff changeset
329 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
330 export HISTDB_HEIGHT="70%"
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-histdb/sqlite-history.zsh
77f3f615e4bf Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents: 657
diff changeset
332 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
333
658
77f3f615e4bf Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents: 657
diff changeset
334 zsh-defer source ~/.zsh/jq-zsh-plugin/jq.plugin.zsh
546
06df3dcf5d96 Add jq zsh plugin
zegervdv <zegervdv@me.com>
parents: 544
diff changeset
335
714
587765960227 feat: set global dark option
zegervdv <zegervdv@me.com>
parents: 710
diff changeset
336 source ~/.config/zsh/fzf/colors.zsh
664
a061086e1172 set colors for fzf
zegervdv <zegervdv@me.com>
parents: 663
diff changeset
337
676
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
338 unix-word-rubout() {
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
339 local WORDCHARS=$'!"#$%&\'()*+,-.:;<=>?@[\\]^_`{|}~'
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
340 zle backward-kill-word
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
341 }
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
342
542
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
343 # The plugin will auto execute this zvm_after_init function
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
344 function zvm_after_init() {
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
345 [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
587
77280c499124 usd zsh-histdb-skim for more stable results
zegervdv <zegervdv@me.com>
parents: 569
diff changeset
346 bindkey '^r' histdb-skim-widget
569
5579d087173a Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents: 567
diff changeset
347
5579d087173a Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents: 567
diff changeset
348 # Postpone current command to next prompt
542
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
349 bindkey '^t' push-line-or-edit
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
350
569
5579d087173a Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents: 567
diff changeset
351 # Cut current command into killring
5579d087173a Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents: 567
diff changeset
352 bindkey '^u' backward-kill-line
5579d087173a Map <c-u> in zsh to kill current line
zegervdv <zegervdv@me.com>
parents: 567
diff changeset
353
542
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
354 bindkey '^[[A' history-substring-search-up
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
355 bindkey '^[[B' history-substring-search-down
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
356 bindkey "$terminfo[kcuu1]" history-substring-search-up
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
357 bindkey "$terminfo[kcud1]" history-substring-search-down
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
358 bindkey '^p' history-substring-search-up
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
359 bindkey '^n' history-substring-search-down
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
360
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
361 bindkey '^f' autosuggest-accept
676
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
362
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
363 zle -N unix-word-rubout
128696498485 enable ctrl-w to erase parts of pathname in zsh
zegervdv <zegervdv@me.com>
parents: 671
diff changeset
364 bindkey '^w' unix-word-rubout
780
288467474cb2 fix: remap insert-last-word to ^g
Zeger Van de Vannet <zegervdv@me.com>
parents: 771
diff changeset
365 bindkey '^g' insert-last-word
542
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
366 }
89769aa79628 add zsh-vi-mode plugin
zegervdv <zegervdv@me.com>
parents: 540
diff changeset
367
658
77f3f615e4bf Add zsh-defer to load zsh prompt faster (I think?)
zegervdv <zegervdv@me.com>
parents: 657
diff changeset
368 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
369
9036f18c5ad4 restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents: 539
diff changeset
370 _zsh_autosuggest_strategy_histdb_top_here() {
9036f18c5ad4 restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents: 539
diff changeset
371 local query="select commands.argv from
9036f18c5ad4 restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents: 539
diff changeset
372 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
373 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
374 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
375 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
376 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
377 suggestion=$(_histdb_query "$query")
9036f18c5ad4 restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents: 539
diff changeset
378 }
9036f18c5ad4 restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents: 539
diff changeset
379
9036f18c5ad4 restructure zshrc to load all paths before loading plugins
zegervdv <zegervdv@me.com>
parents: 539
diff changeset
380 ZSH_AUTOSUGGEST_STRATEGY=histdb_top_here
544
c071fc2dc6fc Run compinit after loading all plugins and functions
zegervdv <zegervdv@me.com>
parents: 542
diff changeset
381
597
39afef47145e Disable bracketed paste for TMUX
Zeger Van de Vannet <zegervdv@me.com>
parents: 595
diff changeset
382 if [ ${TMUX} ]; then
39afef47145e Disable bracketed paste for TMUX
Zeger Van de Vannet <zegervdv@me.com>
parents: 595
diff changeset
383 unset zle_bracketed_paste
39afef47145e Disable bracketed paste for TMUX
Zeger Van de Vannet <zegervdv@me.com>
parents: 595
diff changeset
384 fi
671
951bf1353641 remove duplicate entries from zsh PATH
zegervdv <zegervdv@me.com>
parents: 670
diff changeset
385
951bf1353641 remove duplicate entries from zsh PATH
zegervdv <zegervdv@me.com>
parents: 670
diff changeset
386 # Deduplicate PATH
951bf1353641 remove duplicate entries from zsh PATH
zegervdv <zegervdv@me.com>
parents: 670
diff changeset
387 typeset -U path