summaryrefslogtreecommitdiff
path: root/zsh/keybindrc
blob: 3d2f358ab53d444140b4bb3780f9dc1b3e6079ec (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
43
44
45
46
47
#!/bin/zsh

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

# Keybinding functions
	 #function name		#function			#description
autoload edit-command-line; 	zle -N edit-command-line 	# Edit line in Vim buffer

# Unbind some default keybindings
bindkey -r "^U" "^W" "^G" "^J" "^Q" "^R" "^[[200~"

# Keybindings
        #key	#command		#description
bindkey "^E"	edit-command-line 	# Ctrl-e to edit line in Vim buffer
bindkey "^D"	kill-whole-line 	# Ctrl-d to delete line
bindkey "^X"	clear-screen	 	# Ctrl-x to clear screen
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 "^[[1;5D" emacs-backward-word 	# Ctrl-Right to go back one word
bindkey "^[[1;5C" emacs-forward-word	# Ctrl-Left to go forward one word
bindkey "^[[1;3D" emacs-backward-word 	# Alt-Right to go back one word
bindkey "^[[1;3C" emacs-forward-word	# Alt-Left to go forward one word
bindkey "^[[5~" emacs-backward-word 	# PgUp to go back one word
bindkey "^[[6~" emacs-forward-word 	# PgDn to go forward one word
bindkey "^H"	backward-delete-word	# Ctrl-Backspace to delete entire word behind cursor
bindkey "^[[M"	delete-word		# Ctrl-Delete to delete currect word in front of the cursor

# Basic auto/tab complete:
autoload -U compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots) # Include hidden files.

# 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

# Ignore ctrl-d to exit shell
setopt ignore_eof