'gJ' => "join leave spac<>ing",
'gk' => "<up> screen",
'gm' => "cen<>ter screen",
'gJ' => "join leave spac<>ing",
'gk' => "<up> screen",
'gm' => "cen<>ter screen",
'^wR' => "rotate up<>ward<>s",
'^ws' => "split horiz<>ont<>al<>ly",
'^wt' => "go to top",
'^wR' => "rotate up<>ward<>s",
'^ws' => "split horiz<>ont<>al<>ly",
'^wt' => "go to top",
'^wv' => "split vert<>ic<>al<>ly",
'^ww' => "go to next\nWrap around",
'^wW' => "go above<>/left",
'^wv' => "split vert<>ic<>al<>ly",
'^ww' => "go to next\nWrap around",
'^wW' => "go above<>/left",
'vc' => "repl<>ace area",
'vC' => "repl<>ace full lines", # like vS, but blocks are extended until eol
'v^c'=> "abort",
'vc' => "repl<>ace area",
'vC' => "repl<>ace full lines", # like vS, but blocks are extended until eol
'v^c'=> "abort",
'vg^g'=> "count region info",
'vgJ' => "join literal<>ly",
'vgq' => "for<>mat",
'vgw' => "for<>mat still",
'vg^g'=> "count region info",
'vgJ' => "join literal<>ly",
'vgq' => "for<>mat",
'vgw' => "for<>mat still",
"va'" => "quoted string",
'va<' => "<> block",
"va'" => "quoted string",
'va<' => "<> block",
'i^gk' => "<up> start col<>umn",
'i^gj' => "<down> start col<>umn",
'i^gu' => "break undo seq<>uence",
'i^gk' => "<up> start col<>umn",
'i^gj' => "<down> start col<>umn",
'i^gu' => "break undo seq<>uence",
# other i^g keys (even esc) are not recognized
"i^x\e" => "normal mode",
# other i^g keys (even esc) are not recognized
"i^x\e" => "normal mode",
arg => ["key<arg>", "Commands with a dot need a char argument afterwards."],
motion => ["key<motion>", "Requires a motion afterwards, operates between cursor and destination."],
arg => ["key<arg>", "Commands with a dot need a char argument afterwards."],
motion => ["key<motion>", "Requires a motion afterwards, operates between cursor and destination."],
- 'ext vim6' => ["vim", "Not in original Vi (assessment incomplete)."],
- 'ext new vim7' => ["vim7", "New in vim version 7.x."],
+ 'vim6 new' => ["vim", "Not in original Vi (assessment incomplete)."],
- "'" => "g2 ext vim6 arg",
- '<' => "g4 ext vim7 new",
- '?' => "g4 argm ext vim6",
+ "'" => "g2 vim6 new arg",
+ '<' => "g4 vim7 new",
+ '?' => "g4 argm vim6 new",
- 's' => "g1 ext vim6",
- 't' => "g3 ext vim7 new",
- 'T' => "g3 ext vim7 new",
- 'u' => "g4 argm ext vim6", # XXX undo?
- 'U' => "g4 undo argm ext vim6",
+ 's' => "g1 vim6 new",
+ 't' => "g3 vim7 new",
+ 'T' => "g3 vim7 new",
+ 'u' => "g4 argm vim6 new", # XXX undo?
+ 'U' => "g4 undo argm vim6 new",
- 'a' => "g4 ext vim6 folding",
- 'A' => "g4 ext vim6 folding",
+ 'a' => "g4 vim6 new folding",
+ 'A' => "g4 vim6 new folding",
- 'c' => "g4 ext vim6 folding",
- 'C' => "g4 ext vim6 folding",
- 'd' => "g4 ext vim6 folding",
- 'D' => "g4 ext vim6 folding",
+ 'c' => "g4 vim6 new folding",
+ 'C' => "g4 vim6 new folding",
+ 'd' => "g4 vim6 new folding",
+ 'D' => "g4 vim6 new folding",
- 'E' => "g4 ext vim6 folding",
- 'f' => "g4 argm ext vim6 folding",
- 'F' => "g4 ext vim6 folding",
- 'g' => "g4 ext vim7 new",
- 'G' => "g4 ext vim7 new",
+ 'E' => "g4 vim6 new folding",
+ 'f' => "g4 argm vim6 new folding",
+ 'F' => "g4 vim6 new folding",
+ 'g' => "g4 vim7 new",
+ 'G' => "g4 vim7 new",
- 'i' => "g4 ext vim6 folding",
- 'j' => "g2 ext vim6 folding",
- 'k' => "g2 ext vim6 folding",
+ 'i' => "g4 vim6 new folding",
+ 'j' => "g2 vim6 new folding",
+ 'k' => "g2 vim6 new folding",
- 'm' => "g4 ext vim6 folding",
- 'M' => "g4 ext vim6 folding",
- 'n' => "g4 ext vim6 folding",
- 'N' => "g4 ext vim6 folding",
- 'o' => "g4 ext vim6 folding",
- 'O' => "g4 ext vim6 folding",
- 'r' => "g4 ext vim6 folding",
- 'R' => "g4 ext vim6 folding",
+ 'm' => "g4 vim6 new folding",
+ 'M' => "g4 vim6 new folding",
+ 'n' => "g4 vim6 new folding",
+ 'N' => "g4 vim6 new folding",
+ 'o' => "g4 vim6 new folding",
+ 'O' => "g4 vim6 new folding",
+ 'r' => "g4 vim6 new folding",
+ 'R' => "g4 vim6 new folding",
- 'u' => "g4 arg ext vim7 new",
- 'v' => "g4 ext vim6 folding",
- 'w' => "g4 ext vim7 new",
- 'W' => "g4 ext vim7 new",
- 'x' => "g4 ext vim6 folding",
- 'X' => "g4 ext vim6 folding",
+ 'u' => "g4 arg vim7 new",
+ 'v' => "g4 vim6 new folding",
+ 'w' => "g4 vim7 new",
+ 'W' => "g4 vim7 new",
+ 'x' => "g4 vim6 new folding",
+ 'X' => "g4 vim6 new folding",
- 's' => "g3 ext vim7 new",
- 'S' => "g3 ext vim7 new",
- 'z' => "g2 ext vim6 folding",
+ 's' => "g3 vim7 new",
+ 'S' => "g3 vim7 new",
+ 'z' => "g2 vim6 new folding",
- 's' => "g3 ext vim7 new",
- 'S' => "g3 ext vim7 new",
- 'z' => "g2 ext vim6 folding",
+ 's' => "g3 vim7 new",
+ 'S' => "g3 vim7 new",
+ 'z' => "g2 vim6 new folding",
- 'a' => 'g9 modeva arg ext vim6',
- 'A' => 'g6 modei ext vim6',
- 'c' => 'g6 modei ext vim6',
- 'C' => 'g6 modei ext vim6',
+ 'a' => 'g9 modeva arg vim6 new',
+ 'A' => 'g6 modei vim6 new',
+ '^a'=> 'g4 undo vim8 new',
+ 'c' => 'g6 modei vim6 new',
+ 'C' => 'g6 modei vim6 new',
- 'i' => "g9 modeva arg ext vim6",
- 'I' => "g6 modei ext vim6", # block
+ 'i' => "g9 modeva arg vim6 new",
+ 'I' => "g6 modei vim6 new", # block
- '^k' => 'g4 arg arg ext vim6 linkdigraphs',
- '^l' => "g7 mode ext vim6", # insertmode only
+ '^k' => 'g4 arg arg vim6 new linkdigraphs',
+ '^l' => "g7 mode vim6 new", # insertmode only
- '^x' => 'g9 arg modei^x ext vim6',
- '^y' => "g4 ext vim6",
- '^z' => "g1 ext vim6", # insertmode only
+ '^x' => 'g9 arg modei^x vim6 new',
+ '^y' => "g4 vim6 new",
+ '^z' => "g1 vim6 new", # insertmode only