use utf8;
+my @motions = qw(
+ g z [ ]
+ b B e E f F G ^h h H j ^j k l L M ^m n N ^n ^p t T w W
+ 0 ` ' # $ % ^ * ( ) { } ; / ? + - _ | ,
+);
+
{
key => {
'vD' => "delete lines",
'vg' => "extra cmds",
'v^g'=> "select mode",
- 'v^h'=> "back<>space", # delete in select mode, left otherwise
'vi' => "extend inner a<>r<>ea",
'vI' => "insert to block", # block
'vJ' => "join lines",
']x' => "xml decode\nunimpaired plugin",
'[y' => "escape c str<>ing\nunimpaired plugin",
']y' => "unescap<>e c str<>ing\nunimpaired plugin",
+
+ (map { ("d$_" => "delete to <alias>$_") } qw( g z [ ] )),
+ 'dW' => 'delete <span style="font-variant:small-caps">word</span>',
+ 'db' => 'delete <left> word',
+ 'dB' => 'delete <left> <span style="font-variant:small-caps">word</span>',
+ 'de' => 'delete word e<>nd',
+ 'dE' => 'delete <span style="font-variant:small-caps">word</span> e<>nd',
+ 'df' => 'delete to char<>acter',
+ 'dF' => 'delete <left> to char<>acter',
+ 'dG' => 'delete to line<>/eof',
+ 'dH' => 'delete to top',
+ 'dj' => 'delete <down> line',
+ 'dk' => 'delete <up> line',
+ 'dL' => 'delete to bottom',
+ 'dM' => 'delete to middle',
+ 'dn' => 'delete to next res<>ult',
+ 'dN' => 'delete to prev res<>ult',
+ 'dt' => 'delete upto ch<>ar<>acter',
+ 'dT' => 'delete <left> upto ch<>ar<>acter',
+ 'dw' => 'delete word',
+ 'd,' => 'delete to prev ch<>ar<>acter',
+ 'd;' => 'delete to next ch<>ar<>acter',
+ 'd/' => 'delete to res<>ult',
+ 'd?' => 'delete <left> to res<>ult',
+ 'd`' => 'delete to mark',
+ "d'" => 'delete lines to m<>ark',
+ 'd*' => 'delete to find',
+ 'd#' => 'delete <left> to find',
+ 'd%' => 'delete to line pct',
+ 'd^' => 'delete to soft bol',
+ 'd0' => 'delete to bol',
+ 'd|' => 'delete to col<>umn',
+ 'd{' => 'delete <left> par<>agr<>aph',
+ 'd}' => 'delete rest of p<>ar<>agr<>aph',
+ 'd(' => 'delete <left> senten<>ce',
+ 'd)' => 'delete rest of s<>en<>ten<>ce',
+ 'da' => 'delete area',
+ 'di' => 'delete inner',
+ 'dd' => 'delete line',
+ 'do' => 'diff obtain',
+ 'dp' => 'diff put',
+ 'ds' => 'delete surr<>oun<>d<>ing',
},
mode => {
i => "insert mode",
'i^g' => "extended insert commands (i ctrl-g)",
'i^x' => "insert completion commands (i ctrl-x)",
+ d => 'delete motions',
},
flag => {
'^a'=> "g4 undo",
'b' => "g2",
'B' => "g2",
- '^b'=> "g2",
+ '^b'=> "g3",
'c' => "g6 argm undo modei",
'C' => "g6 undo modei",
'^c'=> "g4",
- 'd' => "g4 argm undo",
+ 'd' => "g4 argm undo moded",
'D' => "g4 undo",
'^d'=> "g3",
'e' => "g2",
'^e'=> "g3",
'f' => "g2 arg",
'F' => "g2 arg",
- '^f'=> "g2",
+ '^f'=> "g3",
'g' => "g9 arg modeg",
'G' => "g2",
'^g'=> "g1",
'v' => 'g8 modev',
'V' => "g4",
'w' => "g4 argm v7",
- 'x' => "g4 v7",
+ 'x' => "g4 v7 ext",
}, # mode g
Z => {
'!' => "g4",
':' => "g7 modec",
- ',' => "=,",
- "'" => "='",
- '"' => '="',
'<' => "g4",
'=' => 'g4 undo',
'>' => 'g4',
'D' => "g4 v6",
'g' => "g9 arg modevg",
'^g'=> "g8",
- '^h'=> 'g4',
'i' => "g9 modeva arg v6",
'I' => "g6 modei v6", # block
'J' => "g4",
'^o'=> "g8",
'p' => 'g4',
'P' => 'g4',
- '^q'=> "=^q",
'r' => 'g4 arg',
'R' => "=vS", # "might change in future"
- '^s'=> "=^s",
's' => "=vc",
'S' => 'g6 modei v6',
'u' => "g4 v6",
'y' => "g4",
'Y' => "g4",
- map { $_ => "=$_" } qw(
- b B ^b ^d e E ^e f F ^f G h H ^i j ^j k l L m M ^m
- n N ^n ^p q ^s t T ^u w W ^w ^y z ^z
- ` # $ % ^ * ( 0 ) [ { ] } ; / ? + - _ |
- ) # a lot like normal mode
+ (map { $_ => "=$_" } @motions, qw(
+ ^b ^d ^e ^f ^i m q ^q ^s ^u ^w ^y z ^z "
+ )), # a lot like normal mode
}, # mode v
vg => {
'^y' => "g3",
}, # mode i ^x
+ d => {
+ lead => "d",
+
+ "\e"=> "g7 mode",
+ '^['=> "=\e",
+
+ (map { $_ => 'g4' } @motions),
+ (map { $_ => 'g4 arg' } qw( f F t T ` ' / ? )), # @motions with option
+ (map { $_ => "=v$_" } qw( a i )), # motions from virtual
+ (map { $_ => "=$_" } qw( g z [ ] \\ ^\\ ^q ^s ^z )),
+
+ 'd' => 'g4',
+ 'o' => 'g5',
+ 'p' => 'g5',
+ 's' => 'g4 arg xsurround',
+
+ 'l' => '=x',
+ 'h' => '=X',
+ '^h' => '=X',
+ '^j' => '=dj',
+ '^m' => '=dj',
+ '^n' => '=dj',
+ '+' => '=dj',
+ '^p' => '=dk',
+ '-' => '=dk',
+ '$' => '=D',
+ '_' => '=dd',
+ }, # mode d
+
# TODO: mode/ (command-line)
# XXX ex mode if you want to go completely wild
},