'ga' => "char value\nGet Ascii value",
'g^a'=> "mem usage stats",
+ 'gc' => "(un)<>com<>ment\ncommentary or tComment plugin",
'gd' => "local declar<>ation",
'gD' => "global declar<>ation",
'ge' => "back to word end",
'gj' => "<down> screen",
'gJ' => "join leave spac<>ing",
'gk' => "<up> screen",
+ 'gl' => "align to left\nlion plugin, also good for easy-align",
+ 'gL' => "align to right\nlion plugin",
'gm' => "cen<>ter screen",
'gn' => "select next find",
'gN' => "select prev find",
'vg?' => "rot13 encode",
'vg^a'=> "seq. incr<>ement",
'vg^g'=> "count region info",
+ 'vgc' => "(un)<>com<>ment\ncommentary or tComment plugin",
'vgJ' => "join literal<>ly",
+ 'vgl' => "align to left\nlion plugin, also good for easy-align",
+ 'vgL' => "align to right\nlion plugin",
'vgq' => "for<>mat",
'vgw' => "for<>mat still",
'vg^x'=> "seq. decr<>ement",
"i^g\e"=> "insert mode",
'i^gk' => "<up> start col<>umn",
'i^gj' => "<down> start col<>umn",
+ 'i^gs' => "sur<>round\nsurround plugin",
'i^gu' => "break undo seq<>uence",
'i^gU' => "keep undo seq<>uence",
# other i^g keys (even esc) are not recognized
arg => ["key<arg>", "Commands with a dot need a char argument afterwards."],
motion => ["key<motion>", "Requires a motion afterwards, operates between cursor and destination."],
'v6 new' => ["vim", "Not in original Vi (assessment incomplete)."],
+ 'xcommentary xlion xsurround ext' => ["plugin", "Optional features provided by common plugins."],
},
def => {
'a' => "g1",
'^a'=> "g1",
+ 'c' => 'g4 argm xcommentary',
'd' => "g2 v6",
'D' => "g2 v6",
'e' => "g2",
'j' => "g2 v6",
'J' => "g4",
'k' => "g2 v6",
+ 'l' => 'g3 argm arg xlion',
+ 'L' => 'g3 argm arg xlion',
'm' => "g2 v6",
'n' => "g8 v7 modev",
'N' => "g8 v7 modev",
'?' => "g4 v6",
'^a'=> 'g4 undo v8',
'^g' => "g1 vim6",
+ 'c' => 'g4 xcommentary',
'J' => 'g4 v6',
+ 'l' => 'g3 arg xlion',
+ 'L' => 'g3 arg xlion',
'q' => "g4 v6",
'v' => "=gv",
'w' => 'g4 v7',
'k' => 'g2',
'j' => 'g2',
+ 's' => 'g4 arg xsurround',
'u' => 'g4',
'U' => 'g4 v8',
# other keys (even esc) are not recognized