vi: implement missing features from upstream release 8.0
authorMischa POSLAWSKY <perl@shiar.org>
Mon, 2 Oct 2017 10:07:45 +0000 (12:07 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 19 Feb 2018 22:46:18 +0000 (23:46 +0100)
Found by comparing :help pages.

vi.eng.inc.pl

index 823bbfe..23b3c69 100644 (file)
@@ -155,6 +155,8 @@ key => {
        '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",
@@ -304,6 +306,7 @@ key => {
        '^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",
@@ -328,6 +331,7 @@ key => {
 
        '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",
@@ -352,15 +356,18 @@ key => {
        '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<' => "&lt;&gt; block",
@@ -422,6 +429,7 @@ key => {
        '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",
@@ -640,6 +648,8 @@ 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",
@@ -827,6 +837,7 @@ def => {
                's' => "g3",
                'S' => "=^ws",
                't' => "g3",
+               'T' => "g3 vim7 new",
                'v' => "g3",
                'w' => "g3",
                'W' => "g3",
@@ -851,6 +862,9 @@ def => {
 
                '!' => "g4",
                ':' => "g7 modec",
+               ',' => "=,",
+               "'" => "='",
+               '"' => '="',
                '<' => "g4",
                '=' => 'g4 undo',
                '>' => 'g4',
@@ -861,6 +875,7 @@ def => {
 
                'a' => 'g9 modeva arg ext vim6',
                'A' => 'g6 modei ext vim6',
+               '^a'=> 'g4 vim8 ext new',
                'c' => 'g6 modei ext vim6',
                'C' => 'g6 modei ext vim6',
                '^c'=> "g7 mode",
@@ -891,6 +906,7 @@ def => {
                '^v'=> "g8 ext vim6",
                'x' => "=vd",
                'X' => "=vD",
+               '^x'=> 'g4 vim8 ext new',
                'y' => "g4",
                'Y' => "g4",
 
@@ -908,11 +924,13 @@ def => {
 
                '^['=> "=\e",
                '?' => "g4 ext vim6",
+               '^a'=> 'g4 vim8 ext new',
                '^g' => "g1 vim6",
                'J' => 'g4 ext vim6',
                'q' => "g4 ext vim6",
                'v' => "=gv",
                'w' => 'g4 ext vim7 new',
+               '^x'=> 'g4 vim8 ext new',
        }, # mode v g
 
        va => {
@@ -1012,6 +1030,7 @@ def => {
                'k' => 'g2',
                'j' => 'g2',
                'u' => 'g4',
+               'U' => 'g4 vim8 ext new',
                # other keys (even esc) are not recognized
        }, # mode i ^g
 
@@ -1039,6 +1058,7 @@ def => {
                '^y' => "g3",
        }, # mode i ^x
 
+       # TODO: mode/ (command-line)
        # XXX ex mode if you want to go completely wild
 },
 }