forked from noctuid/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxchainkeys.examplevimlayer.conf
126 lines (96 loc) · 4.52 KB
/
xchainkeys.examplevimlayer.conf
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
# Example bindings for libre office writer
# http://forum.colemak.com/viewtopic.php?id=1817
# video demo http://youtu.be/iB1fCASlpY8
# The lesson to be learned: use vim
W-o :enter timeout=0 abort=automatic
W-o r :reload
# TODO:
# add paste mode
# stop using and try tmk firmware
# to do without gui popup, have to re-enter the mode at the end of every command like so:
# W-o h :exec xsendkey Left && xdotool key super+o
# benefit is that cursor doesn't totally dissapear
# optionally could just deal with it
# xsendkey y && xdotool key window gvim control+v
# Normal Mode {{{
# let escape act as normal and don't exit
W-o q :abort
W-o Escape :exec xsendkey Escape && xdotool key super+o
W-o Mode_switch :exec xdotool key Escape && xdotool key super+o
# basic movement
W-o h :exec xsendkey Left && xdotool key super+o
W-o n :exec xsendkey Down && xdotool key super+o
W-o e :exec xsendkey Up && xdotool key super+o
W-o i :exec xsendkey Right && xdotool key super+o
# take a count; could add for everything
W-o 5 e :exec xsendkey Up && xsendkey Up && xsendkey Up && xsendkey Up && xsendkey Up && xdotool key super+o
# by word
W-o w :exec xsendkey Control+Right && xdotool key super+o
W-o b :exec xsendkey Control+Left && xdotool key super+o
# gg and G
W-o g g :exec xsendkey Control+Home && xdotool key super+o
# o will be shifted unless do this and won't re-enter mode
# sleeping prevents the o from being shifted
W-o S-g :exec xsendkey Control+End && sleep 0.2 && xdotool key super+o
# keyup on shift with xte stopped working so sleep now; maybe can lower to 0.1
# undo and redo
W-o u :exec xsendkey Control+z && xdotool key super+o
W-o S-u :exec xsendkey Control+y && sleep 0.2 && xdotool key super+o
# save (this pulls you out of the mode)
W-o s :exec xsendkey Control+s
# search (this also requires you to exit the mode... unless you want to set up virtual keyboard input for every letter)
W-o slash :exec xsendkey Control+f
# next word suggestion
W-o Tab :exec xsendkey Control+Tab && xdotool key super+o
# cut, copy, and paste
# won't delete blank lines, use x
W-o d d :exec xsendkey End && xsendkey Shift+Home && xsendkey Delete && xdotool key super+o
W-o x :exec xsendkey Delete && xdotool key super+o
# this won't work in the middle of the word (alternatively and do a control left before, but them if you're at the start of the word it will delete the previous word)
W-o d w :exec xsendkey Control+Shift+Right && xsendkey Control+x && xdotool key super+o
W-o S-d :exec xsendkey Shift+End && xsendkey Control+x && sleep 0.2 && xdotool key super+o
# maybe more vim like D:
# xsendkey Shift+End && xsendkey BackSpace && xsendkey Right && xsendkey Return && xsendkey Up && xsendkey End
W-o y w :exec xsendkey Control+Shift+Right && xsendkey Control+c && xdotool key super+o
W-o S-y :exec xsendkey Shift+End && xsendkey Control+c && sleep 0.2 && xdotool key super+o
W-o p :exec xsendkey Control+v && xdotool key super+o
#}}}
# Visual mode# {{{
W-o v :enter timout=0 abort=manual
# exit visual mode; return to normal mode
W-o v v :abort
W-o v Escape :exec xsendkey Escape && xdotool key v && xdotool key super+o
W-o v Mode_switch :exec xsendkey Escape && xdotool key v && xdotool key super+o
# basic movemennts
W-o v h :exec xsendkey Shift+Left
W-o v n :exec xsendkey Shift+Down
W-o v e :exec xsendkey Shift+Up
W-o v i :exec xsendkey Shift+Right
# by word
W-o v w :exec xsendkey Control+Shift+Right
W-o v b :exec xsendkey Control+Shift+Left
# gg and G
W-o v g g :exec xsendkey Control+Shift+Home && xdotool key super+o && xdotool key v
W-o v S-g :exec xsendkey Control+Shift+End
# yank and return to normal
W-o v y :exec xsendkey Control+c && xsendkey Escape && xdotool key v && xdotool key super+o
# cut and return to normal
W-o v d :exec xsendkey Control+x && xsendkey Escape && xdotool key v && xdotool key super+o
# }}}
# Visual block mode# {{{
W-o S-v :enter timout=0 abort=manual
W-o S-v v :abort
W-o S-v Escape :exec xsendkey Escape && xdotool key v && xdotool key super+o
W-o S-v Mode_switch :exec xsendkey Escape && xdotool key v && xdotool key super+o
# make this better
W-o S-v n :exec xsendkey Shift+End && xsendkey Control+Shift+Down
W-o S-v e :exec xsendkey Shift+Home && xsendkey Control+Shift+Up
# could also do counts here of course.. too lazy to do right now
W-o S-v S-g :exec xsendkey Control+Shift+End
# yank
W-o S-v y :exec xsendkey Control+c && xsendkey Escape && xdotool key v && xdotool key super+o
# cut
W-o S-v d :exec xsendkey Control+x && xsendkey Escape && xdotool key v && xdotool key super+o
# }}}
# command mode example
W-o semicolon w :exec xsendkey Control+s