Switch to better zsh vi mode
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -16,3 +16,6 @@
|
|||||||
[submodule "zsh/custom/plugins/zsh-completions"]
|
[submodule "zsh/custom/plugins/zsh-completions"]
|
||||||
path = zsh/custom/plugins/zsh-completions
|
path = zsh/custom/plugins/zsh-completions
|
||||||
url = https://github.com/zsh-users/zsh-completions.git
|
url = https://github.com/zsh-users/zsh-completions.git
|
||||||
|
[submodule "zsh/custom/plugins/zsh-vi-mode"]
|
||||||
|
path = zsh/custom/plugins/zsh-vi-mode
|
||||||
|
url = https://github.com/jeffreytse/zsh-vi-mode
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
ohmyzsh
|
ohmyzsh
|
||||||
custom
|
custom
|
||||||
|
fzf-git.sh
|
||||||
|
|||||||
1
zsh/custom/plugins/zsh-vi-mode
Submodule
1
zsh/custom/plugins/zsh-vi-mode
Submodule
Submodule zsh/custom/plugins/zsh-vi-mode added at 08bd1c0452
@@ -21,7 +21,7 @@ plugins=(
|
|||||||
zsh-autosuggestions
|
zsh-autosuggestions
|
||||||
# Disabled because the highlighting conflicts with autosuggestions
|
# Disabled because the highlighting conflicts with autosuggestions
|
||||||
# history-substring-search
|
# history-substring-search
|
||||||
vi-mode
|
zsh-vi-mode
|
||||||
colored-man-pages
|
colored-man-pages
|
||||||
command-not-found
|
command-not-found
|
||||||
zsh-autopair
|
zsh-autopair
|
||||||
@@ -37,8 +37,23 @@ HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_TIMEOUT=3
|
|||||||
|
|
||||||
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
||||||
|
|
||||||
VI_MODE_RESET_PROMPT_ON_MODE_CHANGE=true
|
# Default to insert mode
|
||||||
VI_MODE_SET_CURSOR=true
|
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?
|
# Might cause issues?
|
||||||
KEYTIMEOUT=1
|
KEYTIMEOUT=1
|
||||||
|
|
||||||
@@ -113,6 +128,7 @@ if (( $+commands[fd] )); then
|
|||||||
fi
|
fi
|
||||||
if (( $+commands[fzf] )); then
|
if (( $+commands[fzf] )); then
|
||||||
source <(fzf --zsh)
|
source <(fzf --zsh)
|
||||||
|
zvm_after_init_commands+=('source <(fzf --zsh)')
|
||||||
|
|
||||||
if (( $+commands[paru] )); then
|
if (( $+commands[paru] )); then
|
||||||
function pi {
|
function pi {
|
||||||
@@ -121,25 +137,6 @@ if (( $+commands[fzf] )); then
|
|||||||
fi
|
fi
|
||||||
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
|
ZSH_TMUX_AUTOSTART=true
|
||||||
if (( $+commands[tmux] )); then
|
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
|
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