e04564d52880b39032ca6a1841a48138db185aec
- Author
- Marc Cornellà <marc.cornella@live.com>
- Committer
- Marc Cornellà <marc.cornella@live.com>
- Date
Message
lib: add CTRL-backspace and CTRL-delete to delete whole words
Fixes #7609
Closes #8191
Co-authored-by: Michal Grňo <m93a.cz@gmail.com>
Diff
1diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh
2index 10053f6f3099c8a8838e5518cd39457d0c3ab30b..ac1adf2e7038bbd900e4aa1e148acc8a5648e258 100644
3--- a/lib/key-bindings.zsh
4+++ b/lib/key-bindings.zsh
5@@ -71,17 +71,33 @@ if [[ -n "${terminfo[kcbt]}" ]]; then
6 fi
7
8 # [Backspace] - delete backward
9-bindkey '^?' backward-delete-char
10+bindkey -M emacs '^?' backward-delete-char
11+bindkey -M viins '^?' backward-delete-char
12+bindkey -M vicmd '^?' backward-delete-char
13 # [Delete] - delete forward
14 if [[ -n "${terminfo[kdch1]}" ]]; then
15 bindkey -M emacs "${terminfo[kdch1]}" delete-char
16 bindkey -M viins "${terminfo[kdch1]}" delete-char # [Delete] - delete forward
17 bindkey -M vicmd "${terminfo[kdch1]}" delete-char # [Delete] - delete forward
18 else
19- bindkey "^[[3~" delete-char
20- bindkey "^[3;5~" delete-char
21+ bindkey -M emacs "^[[3~" delete-char
22+ bindkey -M viins "^[[3~" delete-char
23+ bindkey -M vicmd "^[[3~" delete-char
24+
25+ bindkey -M emacs "^[3;5~" delete-char
26+ bindkey -M viins "^[3;5~" delete-char
27+ bindkey -M vicmd "^[3;5~" delete-char
28 fi
29
30+# [Ctrl-Backspace] - delete whole backward-word
31+bindkey -M emacs '^H' backward-kill-word
32+bindkey -M viins '^H' backward-kill-word
33+bindkey -M vicmd '^H' backward-kill-word
34+# [Ctrl-Delete] - delete whole forward-word
35+bindkey -M emacs '^[[3;5~' kill-word
36+bindkey -M viins '^[[3;5~' kill-word
37+bindkey -M vicmd '^[[3;5~' kill-word
38+
39 # [Ctrl-RightArrow] - move forward one word
40 bindkey -M emacs '^[[1;5C' forward-word
41 bindkey -M viins '^[[1;5C' forward-word
42@@ -91,11 +107,13 @@ bindkey -M emacs '^[[1;5D' backward-word
43 bindkey -M viins '^[[1;5D' backward-word
44 bindkey -M vicmd '^[[1;5D' backward-word
45
46+
47 bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark
48 bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls
49 bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line.
50 bindkey ' ' magic-space # [Space] - don't do history expansion
51
52+
53 # Edit the current command line in $EDITOR
54 autoload -U edit-command-line
55 zle -N edit-command-line