blob: 15631b9d769517c06190d07b974c03ded71de08e (
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
|
function fish_vi_key_bindings --description 'vi-like key bindings for fish'
bind --erase --all
set -l init_mode insert
if set -q argv[1]
set init_mode $argv[1]
end
##
## command mode
##
bind :q exit
#
# normal (default) mode
#
bind \cd exit
bind h backward-char
bind l forward-char
bind \e\[C forward-char
bind \e\[D backward-char
bind -k right forward-char
bind -k left backward-char
bind \n execute
bind -m insert i force-repaint
bind -m insert I beginning-of-line force-repaint
bind -m insert a forward-char force-repaint
bind -m insert A end-of-line force-repaint
bind -m visual v begin-selection force-repaint
#bind -m insert o "commandline -a \n" down-line force-repaint
#bind -m insert O beginning-of-line "commandline -i \n" up-line force-repaint # doesn't work
bind gg beginning-of-buffer
bind G end-of-buffer
bind \x24 end-of-line
bind \x5e beginning-of-line
bind 0 beginning-of-line
bind g\x24 end-of-line
bind g\x5e beginning-of-line
bind \e\[H beginning-of-line
bind \e\[F end-of-line
bind u history-search-backward
bind \cr history-search-forward
bind [ history-token-search-backward
bind ] history-token-search-forward
bind k up-or-search
bind j down-or-search
bind \e\[A up-or-search
bind \e\[B down-or-search
bind -k down down-or-search
bind -k up up-or-search
bind b backward-word
bind B backward-word
bind gE backward-word
bind gE backward-word
bind w forward-word
bind W forward-word
bind e forward-word
bind E forward-word
bind x delete-char
bind X backward-delete-char
bind -k dc delete-char
bind -k backspace backward-delete-char
bind \x7f backward-delete-char
bind \e\[3\;2~ backward-delete-char # Mavericks Terminal.app shift-delete
bind dd kill-whole-line
bind D kill-line
bind d\x24 kill-line
bind d\x5e backward-kill-line
bind dw kill-word
bind dW kill-word
bind diw forward-char forward-char backward-word kill-word
bind diW forward-char forward-char backward-word kill-word
bind daw forward-char forward-char backward-word kill-word
bind daW forward-char forward-char backward-word kill-word
bind de kill-word
bind dE kill-word
bind db backward-kill-word
bind dB backward-kill-word
bind dgE backward-kill-word
bind dgE backward-kill-word
bind -m insert s delete-char force-repaint
bind -m insert S kill-whole-line force-repaint
bind -m insert cc kill-whole-line force-repaint
bind -m insert C kill-line force-repaint
bind -m insert c\x24 kill-line force-repaint
bind -m insert c\x5e backward-kill-line force-repaint
bind -m insert cw kill-word force-repaint
bind -m insert cW kill-word force-repaint
bind -m insert ciw forward-char forward-char backward-word kill-word force-repaint
bind -m insert ciW forward-char forward-char backward-word kill-word force-repaint
bind -m insert caw forward-char forward-char backward-word kill-word force-repaint
bind -m insert caW forward-char forward-char backward-word kill-word force-repaint
bind -m insert ce kill-word force-repaint
bind -m insert cE kill-word force-repaint
bind -m insert cb backward-kill-word force-repaint
bind -m insert cB backward-kill-word force-repaint
bind -m insert cgE backward-kill-word force-repaint
bind -m insert cgE backward-kill-word force-repaint
bind '~' capitalize-word
bind gu downcase-word
bind gU upcase-word
bind J end-of-line delete-char
bind K 'man (commandline -t) ^/dev/null; or echo -n \a'
bind yy kill-whole-line yank
bind Y kill-whole-line yank
bind y\x24 kill-line yank
bind y\x5e backward-kill-line yank
bind yw kill-word yank
bind yW kill-word yank
bind yiw forward-char forward-char backward-word kill-word yank
bind yiW forward-char forward-char backward-word kill-word yank
bind yaw forward-char forward-char backward-word kill-word yank
bind yaW forward-char forward-char backward-word kill-word yank
bind ye kill-word yank
bind yE kill-word yank
bind yb backward-kill-word yank
bind yB backward-kill-word yank
bind ygE backward-kill-word yank
bind ygE backward-kill-word yank
bind f forward-jump
bind F backward-jump
bind t forward-jump and backward-char
bind T backward-jump and forward-char
# in emacs yank means paste
bind p yank
bind P backward-char yank
bind gp yank-pop
bind '"*p' "commandline -i ( xsel -p; echo )[1]"
bind '"*P' backward-char "commandline -i ( xsel -p; echo )[1]"
#
# insert mode
#
bind -M insert "" self-insert
bind -M insert \n execute
bind -M insert -k dc delete-char
bind -M insert -k backspace backward-delete-char
bind -M insert \x7f backward-delete-char
# Mavericks Terminal.app shift-delete
bind -M insert \e\[3\;2~ backward-delete-char
bind -M insert \t complete
# OS X SnowLeopard doesn't have these keys. Don't show an annoying error message.
bind -M insert -k home beginning-of-line 2> /dev/null
bind -M insert -k end end-of-line 2> /dev/null
bind -M insert \e\[3\;2~ backward-delete-char # Mavericks Terminal.app shift-delete
bind -M insert \cx end-of-line
bind -M insert \e\[A up-or-search
bind -M insert \e\[B down-or-search
bind -M insert -k down down-or-search
bind -M insert -k up up-or-search
bind -M insert \e\[C forward-char
bind -M insert \e\[D backward-char
bind -M insert -k right forward-char
bind -M insert -k left backward-char
# useful insert mode mappings
bind -M insert \ch backward-delete-char
bind -M insert \cw backward-kill-word
bind -M insert \cu backward-kill-line
bind -M insert \cp history-search-backward
bind -M insert \cn history-search-forward
bind -M insert \cb backward-word
bind -M insert \cf forward-word
bind -M insert -m default \cc backward-char force-repaint
bind -M insert -m default \e backward-char force-repaint
bind -M insert \cd exit
bind -M insert \ef forward-word
#
# visual mode
#
bind -M visual \e\[C forward-char
bind -M visual \e\[D backward-char
bind -M visual -k right forward-char
bind -M visual -k left backward-char
bind -M visual h backward-char
bind -M visual l forward-char
bind -M visual b backward-word
bind -M visual B backward-word
bind -M visual gE backward-word
bind -M visual gE backward-word
bind -M visual w forward-word
bind -M visual W forward-word
bind -M visual e forward-word
bind -M visual E forward-word
bind -M visual -m default d kill-selection end-selection force-repaint
bind -M visual -m default x kill-selection end-selection force-repaint
bind -M visual -m default X kill-whole-line end-selection force-repaint
bind -M visual -m default y kill-selection yank end-selection force-repaint
bind -M visual -m default '"*y' "commandline -s | xsel -p" end-selection force-repaint
bind -M visual -m default \cc end-selection force-repaint
bind -M visual -m default \e end-selection force-repaint
set fish_bind_mode $init_mode
end
|