diff options
author | ryo <ryo@nopwd.lol> | 2024-10-31 17:08:48 +0000 |
---|---|---|
committer | ryo <ryo@nopwd.lol> | 2024-10-31 17:08:48 +0000 |
commit | 709542f2011784e2da48405a0972ee46705033b8 (patch) | |
tree | 43d9a54e8055b4d91d1f659b757d33a2cb1d060c /config/zsh/.zshrc | |
parent | cc6d6fcfc6e8403e87dae9f092e61f0edf8e3cc6 (diff) |
Fixed: major bugs and bad file names
Diffstat (limited to 'config/zsh/.zshrc')
-rw-r--r-- | config/zsh/.zshrc | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/config/zsh/.zshrc b/config/zsh/.zshrc new file mode 100644 index 0000000..e9ed25f --- /dev/null +++ b/config/zsh/.zshrc @@ -0,0 +1,77 @@ +# Ryo zsh config +# https://ryo.nopwd.lol +# +# literally Luke's config +# https://github.com/lukesmithxyz/voidrice + + +# enable colors and change prompt +autoload -U colors && colors +setopt autocd +stty stop undef +setopt interactive_comments +PS1="%B%{$fg[blue]%}[%{$fg[cyan]%}%~%{$fg[blue]%}]%{$reset_color%}$%b " + +# history in cache directory +HISTSIZE=10000000 +SAVEHIST=10000000 +HISTFILE="$XDG_CACHE_HOME/zsh/history" +setopt inc_append_history + +# load aliases and functions if existent +source $HOME/.config/shell/aliases +source $HOME/.config/shell/funcs + +# basic auto/tab complete +autoload -U compinit +zstyle ':completion:*' menu select +zmodload zsh/complist +compinit +_comp_options+=(globdots) + +# vi mode +bindkey -v +export KEYTIMEOUT=1 + +# use vim keys in tab complete menu +bindkey -M menuselect 'h' vi-backward-char +bindkey -M menuselect 'k' vi-up-line-or-history +bindkey -M menuselect 'l' vi-forward-char +bindkey -M menuselect 'j' vi-down-line-or-history +bindkey -v '^?' backward-delete-char + +# change cursor shape for different vi modes +function zle-keymap-select () { + case $KEYMAP in + vicmd) echo -ne '\e[1 q';; # block + viins|main) echo -ne '\e[5 q';; # beam + esac +} +zle -N zle-keymap-select +zle-line-init() { + zle -K viins + echo -ne "\e[5 q" +} +zle -N zle-line-init +echo -ne '\e[1 q' # beam cursor on startup +preexec() { echo -ne '\e[1 q' ;} # also for each new prompt + +bindkey '^[[P' delete-char + +bindkey -s '^f' '^ucd "$(dirname "$(fzf)")"\n' + +# edit line in vim with ctrl-e: +autoload edit-command-line; zle -N edit-command-line +bindkey '^e' edit-command-line +bindkey -M vicmd '^[[P' vi-delete-char +bindkey -M vicmd '^e' edit-command-line +bindkey -M visual '^[[P' vi-delete + +# autosuggestion and syntax highlighting +source $HOME/src/zsh-as/zsh-autosuggestions.zsh 2> /dev/null +source $HOME/src/zsh-fsh/fast-syntax-highlighting.plugin.zsh 2>/dev/null + +bindkey '^s' autosuggest-accept + +# put your configs here + |