author | Mikael Berthe <mikael@lilotux.net> |
Sun, 22 Mar 2015 15:04:45 +0100 | |
changeset 30 | e26330cd408f |
parent 19 | e0948736d271 |
child 45 | c8b92fa96f48 |
permissions | -rw-r--r-- |
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
1 |
# |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
2 |
# Vi Mode |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
3 |
# This is an old script I have been updating/customizing over |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
4 |
# the time, I'm unable to mention the original author. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
5 |
# Let me know if you know who I should give the credits to. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
6 |
# |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
7 |
# This mode can be enabled/disabled using the variable |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
8 |
# $SHOWMODE in your $ZDOTLOCALDIR/zshrc. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
9 |
# |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
10 |
# MiKael |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
11 |
# |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
12 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
13 |
if [[ $SHOWMODE != "on" ]]; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
14 |
# Vi showmode is not enabled--skipping file |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
15 |
return 0 |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
16 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
17 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
18 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
19 |
##################### |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
20 |
# Vim-like showmode # |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
21 |
##################### |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
22 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
23 |
# vi keybindings |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
24 |
bindkey -v |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
25 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
26 |
bindkey -M vicmd "^R" redo |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
27 |
bindkey -M vicmd "u" undo |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
28 |
bindkey -M vicmd "ga" what-cursor-position |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
29 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
30 |
unsetopt promptcr |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
31 |
setopt transient_rprompt |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
32 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
33 |
__string_insert="--INSERT--" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
34 |
__string_normal="--NORMAL--" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
35 |
__string_replace="--REPLACE-" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
36 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
37 |
redisplay-insert() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
38 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
39 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
40 |
redisplay-normal() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
41 |
show_mode "$__string_normal" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
42 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
43 |
zle -N redisplay-insert |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
44 |
zle -N redisplay-normal |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
45 |
bindkey -M viins "^X^R" redisplay-insert |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
46 |
bindkey -M vicmd "^X^R" redisplay-normal |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
47 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
48 |
screenclear () { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
49 |
echo -n "\033[2J\033[400H" |
19 | 50 |
# 2J = Erase All |
51 |
# 400H = Cursor at the bootom |
|
52 |
# (Use \033[H to move the cursor to the first line...) |
|
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
53 |
builtin zle .redisplay |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
54 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
55 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
56 |
zle -N screenclear |
19 | 57 |
#bindkey "^L" screenclear |
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
58 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
59 |
function zle-line-finish { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
60 |
export RPS1="$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
61 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
62 |
zle -N zle-line-finish |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
63 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
64 |
show_mode() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
65 |
export RPS1=$1 |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
66 |
builtin zle reset-prompt |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
67 |
return |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
68 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
69 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
70 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
71 |
### vi-add-eol (unbound) (A) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
72 |
### Move to the end of the line and enter insert mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
73 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
74 |
vi-add-eol() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
75 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
76 |
builtin zle .vi-add-eol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
77 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
78 |
zle -N vi-add-eol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
79 |
bindkey -M vicmd "A" vi-add-eol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
80 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
81 |
### vi-add-next (unbound) (a) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
82 |
### Enter insert mode after the current cursor posi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
83 |
### tion, without changing lines. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
84 |
vi-add-next() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
85 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
86 |
builtin zle .vi-add-next |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
87 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
88 |
zle -N vi-add-next |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
89 |
bindkey -M vicmd "a" vi-add-next |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
90 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
91 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
92 |
### vi-change (unbound) (c) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
93 |
### Read a movement command from the keyboard, and kill |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
94 |
### from the cursor position to the endpoint of the |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
95 |
### movement. Then enter insert mode. If the command |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
96 |
### is vi-change, change the current line. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
97 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
98 |
vi-change() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
99 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
100 |
builtin zle .vi-change |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
101 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
102 |
zle -N vi-change |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
103 |
bindkey -M vicmd "c" vi-change |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
104 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
105 |
### vi-change-eol (unbound) (C) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
106 |
### Kill to the end of the line and enter insert mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
107 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
108 |
vi-change-eol() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
109 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
110 |
builtin zle .vi-change-eol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
111 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
112 |
zle -N vi-change-eol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
113 |
bindkey -M vicmd "C" vi-change-eol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
114 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
115 |
### vi-change-whole-line (unbound) (S) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
116 |
### Kill the current line and enter insert mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
117 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
118 |
vi-change-whole-line() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
119 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
120 |
builtin zle .vi-change-whole-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
121 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
122 |
zle -N vi-change-whole-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
123 |
bindkey -M vicmd "S" vi-change-whole-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
124 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
125 |
### vi-insert (unbound) (i) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
126 |
### Enter insert mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
127 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
128 |
vi-insert() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
129 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
130 |
builtin zle .vi-insert |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
131 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
132 |
zle -N vi-insert |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
133 |
bindkey -M vicmd "i" vi-insert |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
134 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
135 |
### vi-insert-bol (unbound) (I) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
136 |
### Move to the first non-blank character on the line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
137 |
### and enter insert mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
138 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
139 |
vi-insert-bol() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
140 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
141 |
builtin zle .vi-insert-bol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
142 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
143 |
zle -N vi-insert-bol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
144 |
bindkey -M vicmd "I" vi-insert-bol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
145 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
146 |
### vi-open-line-above (unbound) (O) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
147 |
### Open a line above the cursor and enter insert mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
148 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
149 |
vi-open-line-above() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
150 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
151 |
builtin zle .vi-open-line-above |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
152 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
153 |
zle -N vi-open-line-above |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
154 |
bindkey -M vicmd "O" vi-open-line-above |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
155 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
156 |
### vi-open-line-below (unbound) (o) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
157 |
### Open a line below the cursor and enter insert mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
158 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
159 |
vi-open-line-below() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
160 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
161 |
builtin zle .vi-open-line-below |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
162 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
163 |
zle -N vi-open-line-below |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
164 |
bindkey -M vicmd "o" vi-open-line-below |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
165 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
166 |
### vi-substitute (unbound) (s) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
167 |
### Substitute the next character(s). |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
168 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
169 |
vi-substitute() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
170 |
show_mode "$__string_insert" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
171 |
builtin zle .vi-substitute |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
172 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
173 |
zle -N vi-substitute |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
174 |
bindkey -M vicmd "s" vi-substitute |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
175 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
176 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
177 |
### vi-replace (unbound) (R) (unbound) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
178 |
### Enter overwrite mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
179 |
### |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
180 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
181 |
vi-replace() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
182 |
show_mode "$__string_replace" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
183 |
builtin zle .vi-replace |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
184 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
185 |
zle -N vi-replace |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
186 |
bindkey -M vicmd "R" vi-replace |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
187 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
188 |
### vi-cmd-mode (^X^V) (unbound) (^[) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
189 |
### Enter command mode; that is, select the `vicmd' |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
190 |
### keymap. Yes, this is bound by default in emacs |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
191 |
### mode. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
192 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
193 |
vi-cmd-mode() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
194 |
show_mode "$__string_normal" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
195 |
builtin zle .vi-cmd-mode |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
196 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
197 |
zle -N vi-cmd-mode |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
198 |
bindkey -M viins "" vi-cmd-mode |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
199 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
200 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
201 |
### vi-oper-swap-case |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
202 |
### Read a movement command from the keyboard, and swap |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
203 |
### the case of all characters from the cursor position |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
204 |
### to the endpoint of the movement. If the movement |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
205 |
### command is vi-oper-swap-case, swap the case of all |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
206 |
### characters on the current line. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
207 |
### |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
208 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
209 |
bindkey -M vicmd "g~" vi-oper-swap-case |
17 | 210 |
bindkey -M vicmd 'guw' down-case-word |
211 |
bindkey -M vicmd 'gUw' up-case-word |
|
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
212 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
213 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
214 |
bindkey -M vicmd "[2~" vi-insert |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
215 |
bindkey -M vicmd 'q' push-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
216 |
bindkey -M vicmd '[5~' history-beginning-search-backward # PgUp |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
217 |
bindkey -M vicmd '[6~' history-beginning-search-forward # PgDn |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
218 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
219 |
bindkey -M viins '[5~' history-beginning-search-backward # PgUp |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
220 |
bindkey -M viins '[6~' history-beginning-search-forward # PgDn |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
221 |
bindkey -M viins '[7~' beginning-of-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
222 |
bindkey -M viins '[8~' end-of-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
223 |
bindkey -M viins '^A' beginning-of-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
224 |
bindkey -M viins '^E' end-of-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
225 |
bindkey -M viins '[3~' delete-char |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
226 |
bindkey -M viins '[A' up-line-or-history |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
227 |
bindkey -M viins '[B' down-line-or-history |
30
e26330cd408f
Use copy-prev-shell-word instead of copy-prev-word
Mikael Berthe <mikael@lilotux.net>
parents:
19
diff
changeset
|
228 |
bindkey -M viins '^Xc' copy-prev-shell-word |
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
229 |
bindkey -M viins '^Xf' _correct_filename |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
230 |
bindkey -M viins '^_' undo |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
231 |
bindkey -M viins '^K' vi-change-eol |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
232 |
bindkey -M viins '^R' history-incremental-search-backward |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
233 |
bindkey -M viins '^O' accept-line-and-down-history |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
234 |
bindkey -M viins '^T' transpose-chars |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
235 |
bindkey -M viins '^Xm' _most_recent_file |
14
77db3f389db7
Add history-complete-older/newer shortcuts for vi mode
Mikael Berthe <mikael@lilotux.net>
parents:
8
diff
changeset
|
236 |
bindkey -M viins '^P' _history-complete-older |
77db3f389db7
Add history-complete-older/newer shortcuts for vi mode
Mikael Berthe <mikael@lilotux.net>
parents:
8
diff
changeset
|
237 |
bindkey -M viins '^N' _history-complete-newer |
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
238 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
239 |
bindkey -M viins -s '^X^H' 'hash -r\n' |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
240 |
|
8 | 241 |
# These bindings depend on the ftzle script |
242 |
bindkey -M viins "^X^W" backward-kill-to-slash |
|
243 |
bindkey '^I' ft-complete |
|
244 |
||
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
245 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
246 |
if [[ -z ${TERM:#screen} ]]; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
247 |
bindkey -M viins '[1~' beginning-of-line # Home |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
248 |
bindkey -M viins '[4~' end-of-line # End |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
249 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
250 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
251 |
# Edit the command line using your usual editor. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
252 |
autoload edit-command-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
253 |
zle -N edit-command-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
254 |
bindkey -M vicmd v edit-command-line |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
255 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
256 |
export RPS1="$__string_insert" |