Switch to better zsh vi mode
This commit is contained in:
@@ -21,7 +21,7 @@ plugins=(
|
||||
zsh-autosuggestions
|
||||
# Disabled because the highlighting conflicts with autosuggestions
|
||||
# history-substring-search
|
||||
vi-mode
|
||||
zsh-vi-mode
|
||||
colored-man-pages
|
||||
command-not-found
|
||||
zsh-autopair
|
||||
@@ -37,8 +37,23 @@ HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_TIMEOUT=3
|
||||
|
||||
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
||||
|
||||
VI_MODE_RESET_PROMPT_ON_MODE_CHANGE=true
|
||||
VI_MODE_SET_CURSOR=true
|
||||
# Default to insert mode
|
||||
ZVM_LINE_INIT_MODE=i
|
||||
# Enable system clipboard
|
||||
ZVM_SYSTEM_CLIPBOARD_ENABLED=true
|
||||
# Make p and P use the system clipboard, instead of CUTBUFFER,
|
||||
# without this you need gp and gP
|
||||
function zvm_after_lazy_keybindings() {
|
||||
bindkey -M vicmd 'p' zvm_paste_clipboard_after
|
||||
bindkey -M vicmd 'P' zvm_paste_clipboard_before
|
||||
bindkey -M visual 'p' zvm_visual_paste_clipboard
|
||||
bindkey -M visual 'P' zvm_visual_paste_clipboard
|
||||
}
|
||||
|
||||
# Fix autopair and zsh-vi-mode compatibility
|
||||
AUTOPAIR_INHIBIT_INIT=1
|
||||
zvm_after_init_commands+=('autopair-init')
|
||||
|
||||
# Might cause issues?
|
||||
KEYTIMEOUT=1
|
||||
|
||||
@@ -113,6 +128,7 @@ if (( $+commands[fd] )); then
|
||||
fi
|
||||
if (( $+commands[fzf] )); then
|
||||
source <(fzf --zsh)
|
||||
zvm_after_init_commands+=('source <(fzf --zsh)')
|
||||
|
||||
if (( $+commands[paru] )); then
|
||||
function pi {
|
||||
@@ -121,25 +137,6 @@ if (( $+commands[fzf] )); then
|
||||
fi
|
||||
fi
|
||||
|
||||
export _ZO_FZF_OPTS="--tmux"
|
||||
if (( $+commands[zoxide] )); then
|
||||
eval "$(zoxide init zsh --cmd cd)"
|
||||
fi
|
||||
|
||||
# Generate missing text objects
|
||||
autoload -Uz select-bracketed select-quoted
|
||||
zle -N select-quoted
|
||||
zle -N select-bracketed
|
||||
for km in viopp visual; do
|
||||
bindkey -M $km -- '-' vi-up-line-or-history
|
||||
for c in {a,i}${(s..)^:-\'\"\`\|,./:;=+@}; do
|
||||
bindkey -M $km $c select-quoted
|
||||
done
|
||||
for c in {a,i}${(s..)^:-'()[]{}<>bB'}; do
|
||||
bindkey -M $km $c select-bracketed
|
||||
done
|
||||
done
|
||||
|
||||
ZSH_TMUX_AUTOSTART=true
|
||||
if (( $+commands[tmux] )); then
|
||||
if [[ -z "$TMUX" && "$ZSH_TMUX_AUTOSTART" == "true" && -z "$INSIDE_EMACS" && -z "$EMACS" && -z "$VIM" && -z "$INTELLIJ_ENVIRONMENT_READER" && -z "$ZED_TERM" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user