diff --git a/.zshrc b/.zshrc index f161446..d2093e0 100644 --- a/.zshrc +++ b/.zshrc @@ -132,8 +132,10 @@ key[PageUp]="${terminfo[kpp]}" key[PageDown]="${terminfo[knp]}" key[Shift-Tab]="${terminfo[kcbt]}" key[Esc-Period]="\e." +key[Ctrl-H]="^h" key[Ctrl-J]="^j" key[Ctrl-K]="^k" +key[Ctrl-T]="^t" key[Alt-H]="^[h" key[Alt-L]="^[l" key[Alt-U]="^[u" @@ -175,8 +177,24 @@ safe_bind Esc-Period insert-last-word safe_bind Delete delete-char +if type zoxide &>/dev/null; then + eval "$(zoxide init zsh)" + zi-widget() { zi; } + zle -N zi-widget + safe_bind Ctrl-T zi-widget + safe_bind Ctrl-H zi-widget +else + echo "Skipping zoxide hook, zoxide not found" +fi + unfunction safe_bind +if type direnv &>/dev/null; then + eval "$(direnv hook zsh)" +else + echo "Skipping direnv hook, direnv not found" +fi + # Finally, make sure the terminal is in application mode, when zle is # active. Only then are the values from $terminfo valid. if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then