summaryrefslogtreecommitdiff
path: root/zsh/zscripts/keybindrc.zsh
blob: 1f0e93a6ea25c86902112464e8b776f8497de7b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env zsh

# Vi mode + requirements for ALL keybindings to work correctly
bindkey -v
export KEYTIMEOUT=1

# Keybindings
autoload edit-command-line; zle -N edit-command-line 	# Edit line in Vim buffer
bindkey '^E'	edit-command-line 	# Ctrl-e - edit line in Vim buffer
bindkey '^[[H'	beginning-of-line 	# Home Key
bindkey '^[[4~' end-of-line		# End Key
bindkey '^[[P'	delete-char 		# Delete Key
bindkey '^[[4h'	overwrite-mode		# Insert Key
bindkey '^D'	kill-whole-line 	# Ctrl-d - delete line
bindkey '^X'	clear-screen	 	# Ctrl-x - clear screen
bindkey '^H'	backward-delete-word	# Ctrl-Backspace - delete entire word behind cursor
bindkey '^[[M'	delete-word		# Ctrl-Delete - delete currect word in front of the cursor
# History completion
bindkey '\e[A'	history-search-backward	# Up arrow - seach history backwards
bindkey '\e[B'	history-search-forward	# Down arrow - seach history forwards
# Ctrl-vi keys emulate arrow keys
bindkey '^H'	emacs-backward-word 	# Ctrl-L - go back one word
bindkey '^J'	history-search-forward	# Ctrl-J - seach history backwards
bindkey '^K'	history-search-backward	# Ctrl-K - seach history forwards
bindkey '^L'	emacs-forward-word	# Ctrl-H - go forward one word

# Basic auto/tab complete
autoload -U compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit -d "$XDG_CACHE_HOME/zcompdump" # Change where .zcompdump is stored
_comp_options+=(globdots) # Include hidden files.

# Use ctrl-vi 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

# Ignore ctrl-d to exit shell
setopt ignore_eof