'gJ' => "join leave spac<>ing",
'gk' => "<up> screen",
'gm' => "cen<>ter screen",
+ 'gn' => "select next find",
+ 'gN' => "select prev find",
'go' => ":goto (byte)",
'gp' => "paste still",
'gP' => "paste before still",
'^wR' => "rotate up<>ward<>s",
'^ws' => "split horiz<>ont<>al<>ly",
'^wt' => "go to top",
+ '^wT' => "to tab",
'^wv' => "split vert<>ic<>al<>ly",
'^ww' => "go to next\nWrap around",
'^wW' => "go above<>/left",
'va' => "ex<>tend area",
'vA' => "ap<>pend to block", # block
+ 'v^a'=> "incr<>ement num<>bers",
'vc' => "repl<>ace area",
'vC' => "repl<>ace full lines", # like vS, but blocks are extended until eol
'v^c'=> "abort",
'vv' => "char<>wise",
'vV' => "line<>wise",
'v^v'=> "block<>wise",
+ 'v^x'=> "decr<>ement num<>bers",
'vy' => "yank area",
'vY' => "yank lines",
"vg\e"=> "visual mode",
'vg?' => "rot13 encode",
+ 'vg^a'=> "seq. incr<>ement",
'vg^g'=> "count region info",
'vgJ' => "join literal<>ly",
'vgq' => "for<>mat",
'vgw' => "for<>mat still",
+ 'vg^x'=> "seq. decr<>ement",
"va'" => "quoted string",
'va<' => "<> block",
'i^gk' => "<up> start col<>umn",
'i^gj' => "<down> start col<>umn",
'i^gu' => "break undo seq<>uence",
+ 'i^gU' => "keep undo seq<>uence",
# 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."],
- 'ext vim6' => ["vim", "Not in original Vi (assessment incomplete)."],
- 'ext new vim7' => ["vim7", "New in vim version 7.x."],
+ 'vim6 ext' => ["vim", "Not in original Vi (assessment incomplete)."],
+ 'vim7 ext new' => ["vim7", "New in vim version 7.x."],
},
def => {
'J' => "g4",
'k' => "g2 ext vim6",
'm' => "g2 ext vim6",
+ 'n' => "g8 vim7 new modev",
+ 'N' => "g8 vim7 new modev",
'o' => "g2",
'p' => "g4 undo",
'P' => "g4",
's' => "g3",
'S' => "=^ws",
't' => "g3",
+ 'T' => "g3 vim7 new",
'v' => "g3",
'w' => "g3",
'W' => "g3",
'!' => "g4",
':' => "g7 modec",
+ ',' => "=,",
+ "'" => "='",
+ '"' => '="',
'<' => "g4",
'=' => 'g4 undo',
'>' => 'g4',
'a' => 'g9 modeva arg ext vim6',
'A' => 'g6 modei ext vim6',
+ '^a'=> 'g4 undo vim8 ext new',
'c' => 'g6 modei ext vim6',
'C' => 'g6 modei ext vim6',
'^c'=> "g7 mode",
'^v'=> "g8 ext vim6",
'x' => "=vd",
'X' => "=vD",
+ '^x'=> 'g4 undo vim8 ext new',
'y' => "g4",
'Y' => "g4",
'^['=> "=\e",
'?' => "g4 ext vim6",
+ '^a'=> 'g4 undo vim8 ext new',
'^g' => "g1 vim6",
'J' => 'g4 ext vim6',
'q' => "g4 ext vim6",
'v' => "=gv",
'w' => 'g4 ext vim7 new',
+ '^x'=> 'g4 undo vim8 ext new',
}, # mode v g
va => {
'k' => 'g2',
'j' => 'g2',
'u' => 'g4',
+ 'U' => 'g4 vim8 ext new',
# other keys (even esc) are not recognized
}, # mode i ^g
'^y' => "g3",
}, # mode i ^x
+ # TODO: mode/ (command-line)
# XXX ex mode if you want to go completely wild
},
}