Initial commit
This commit is contained in:
52
plugins/keybindings.zsh
Normal file
52
plugins/keybindings.zsh
Normal file
@@ -0,0 +1,52 @@
|
||||
# Emacs mode
|
||||
bindkey -e
|
||||
|
||||
# Make terminal keys work
|
||||
if [[ -n ${terminfo[smkx]} && -n ${terminfo[rmkx]} ]]; then
|
||||
autoload -Uz add-zle-hook-widget
|
||||
zle-application-mode () { echoti smkx }
|
||||
zle-application-mode-stop () { echoti rmkx }
|
||||
add-zle-hook-widget -Uz zle-line-init zle-application-mode
|
||||
add-zle-hook-widget -Uz zle-line-finish zle-application-mode-stop
|
||||
fi
|
||||
|
||||
# History search with arrows
|
||||
autoload -U up-line-or-beginning-search down-line-or-beginning-search
|
||||
zle -N up-line-or-beginning-search
|
||||
zle -N down-line-or-beginning-search
|
||||
bindkey '^[[A' up-line-or-beginning-search
|
||||
bindkey '^[[B' down-line-or-beginning-search
|
||||
|
||||
# Standard keys
|
||||
bindkey '^[[H' beginning-of-line # Home
|
||||
bindkey '^[[F' end-of-line # End
|
||||
bindkey '^[[3~' delete-char # Delete
|
||||
bindkey '^[[3;5~' kill-word # Ctrl+Delete
|
||||
bindkey '^[[1;5C' forward-word # Ctrl+Right
|
||||
bindkey '^[[1;5D' backward-word # Ctrl+Left
|
||||
bindkey '^[[Z' reverse-menu-complete # Shift+Tab
|
||||
bindkey '^R' history-incremental-search-backward
|
||||
bindkey ' ' magic-space # Do history expansion on space
|
||||
|
||||
# Useful extras
|
||||
bindkey '^U' backward-kill-line # Ctrl+U - delete from cursor to start
|
||||
bindkey '^K' kill-line # Ctrl+K - delete from cursor to end
|
||||
bindkey '^W' backward-kill-word # Ctrl+W - delete word backwards
|
||||
bindkey '^[[1;3D' backward-word # Alt+Left
|
||||
bindkey '^[[1;3C' forward-word # Alt+Right
|
||||
bindkey '^L' clear-screen # Ctrl+L - clear screen
|
||||
bindkey '^A' beginning-of-line # Ctrl+A - go to start
|
||||
bindkey '^E' end-of-line # Ctrl+E - go to end
|
||||
|
||||
# Edit command in $EDITOR
|
||||
autoload -U edit-command-line
|
||||
zle -N edit-command-line
|
||||
bindkey '^X^E' edit-command-line
|
||||
|
||||
# Undo/Redo
|
||||
bindkey '^Z' undo # Ctrl+Z - undo
|
||||
bindkey '^Y' redo # Ctrl+Y - redo
|
||||
|
||||
# Better word navigation (bash-style)
|
||||
autoload -U select-word-style
|
||||
select-word-style bash
|
||||
Reference in New Issue
Block a user