X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/3a7cbea8cf400e3dc953eab02a09f67df2761209..dc1ab5f00eed170e75fe40687b381369a35760b8:/vi.eng.inc.pl diff --git a/vi.eng.inc.pl b/vi.eng.inc.pl index 5d75a58..20f70f3 100644 --- a/vi.eng.inc.pl +++ b/vi.eng.inc.pl @@ -1,5 +1,11 @@ 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 => { @@ -242,7 +248,6 @@ key => { '[^i'=> "to first occur<>renc<>e", '[m' => "start of funct<>ion", '[p' => "P reind<>ent<>ed", - '[P' => "[p", '[s' => "last missp<>ell<>ing", '[S' => "last bad word", '[z' => "start of open fold", @@ -339,7 +344,6 @@ 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", @@ -448,6 +452,98 @@ key => { 'i^x^u' => "cus<>tom comp<>l<>et<>e", 'i^x^v' => "ex cmd compl<>et<>e", 'i^x^y' => "window down", + + # plugins + 'gc' => "(un)<>com<>ment\ncommentary or tComment plugin", + 'vgc' => "(un)<>com<>ment\ncommentary or tComment plugin", + 'gl' => "align to left\nlion plugin, also good for easy-align", + 'vgl' => "align to left\nlion plugin, also good for easy-align", + 'gL' => "align to right\nlion plugin", + 'vgL' => "align to right\nlion plugin", + 'i^gs' => "sur<>round\nsurround plugin", + + # unimpaired + '[a' => "prev<>ious file\nunimpaired map for :prev", + ']a' => "next file\nunimpaired map for :n", + '[A' => "first file\nunimpaired map for :rew", + ']A' => "last file\nunimpaired map for :la", + '[b' => "prev<>ious buffer\nunimpaired map for :bp", + ']b' => "next buffer\nunimpaired map for :bn", + '[B' => "first buffer\nunimpaired map for :br", + ']B' => "last buffer\nunimpaired map for :bl", + '[e' => "exchange line above\nunimpaired plugin", + ']e' => "exchange line belo<>w\nunimpaired plugin", + '[f' => "preced<>ing file alph<>abet<>ic<>al<>ly\nunimpaired plugin", + ']f' => "next file alph<>abet<>ic<>al<>ly\nunimpaired plugin", + '[l' => "previous loc<>at<>ion\nunimpaired map for :lp", + ']l' => "next loc<>ation\nunimpaired map for :lne", + '[L' => "first loc<>ation\nunimpaired map for :lr", + ']L' => "last loc<>ation\nunimpaired map for :lla", + '[^l'=> "next file in loc<>at<>ions\nunimpaired map for :lpf", + ']^l'=> "file back in loc<>at<>ions\nunimpaired map for :lnf", + '[n' => "previous conflict<>/hunk\nunimpaired plugin", + ']n' => "next confl<>ict<>/hunk\nunimpaired plugin", + '[o' => "enable option\nunimpaired plugin", + ']o' => "disable option\nunimpaired plugin", + 'yo' => "toggle option\nunimpaired plugin", + '[q' => "previous quickfix\nunimpaired map for :cp", + ']q' => "next quickfix error\nunimpaired map for :cn", + '[Q' => "first quickfix\nunimpaired map for :cr", + ']Q' => "last quickfix error\nunimpaired map for :cla", + '[^q'=> "quickfix file b<>ack\nunimpaired map for :cpf", + ']^q'=> "next file in q<>uick<>f<>ix\nunimpaired map for :cnf", + '[t' => "previous tag\nunimpaired map for :tp", + ']t' => "next tag\nunimpaired map for :tn", + '[T' => "first tag\nunimpaired map for :tr", + ']T' => "last tag\nunimpaired map for :tl", + '[u' => "url encode\nunimpaired plugin", + ']u' => "url decode\nunimpaired plugin", + '[x' => "xml encode\nunimpaired plugin", + ']x' => "xml decode\nunimpaired plugin", + '[y' => "escape c str<>ing\nunimpaired plugin", + ']y' => "unescap<>e c str<>ing\nunimpaired plugin", + + (map { ("d$_" => "delete to $_") } qw( g z [ ] )), + 'dW' => 'delete word', + 'db' => 'delete word', + 'dB' => 'delete word', + 'de' => 'delete word e<>nd', + 'dE' => 'delete word e<>nd', + 'df' => 'delete to char<>acter', + 'dF' => 'delete to char<>acter', + 'dG' => 'delete to line<>/eof', + 'dH' => 'delete to top', + 'dj' => 'delete line', + 'dk' => 'delete 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 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 to res<>ult', + 'd`' => 'delete to mark', + "d'" => 'delete lines to m<>ark', + 'd*' => 'delete to find', + 'd#' => 'delete to find', + 'd%' => 'delete to line pct', + 'd^' => 'delete to soft bol', + 'd0' => 'delete to bol', + 'd|' => 'delete to col<>umn', + 'd{' => 'delete par<>agr<>aph', + 'd}' => 'delete rest of p<>ar<>agr<>aph', + 'd(' => 'delete 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 => { @@ -466,6 +562,7 @@ mode => { i => "insert mode", 'i^g' => "extended insert commands (i ctrl-g)", 'i^x' => "insert completion commands (i ctrl-x)", + d => 'delete motions', }, flag => { @@ -480,7 +577,8 @@ flag => { arg => ["key", "Commands with a dot need a char argument afterwards."], motion => ["key", "Requires a motion afterwards, operates between cursor and destination."], - 'vim6 new' => ["vim", "Not in original Vi (assessment incomplete)."], + 'v6 new' => ["vim", "Not in original Vi (assessment incomplete)."], + 'xcommentary xlion xsurround xunimpaired ext' => ["plugin", "Optional features provided by common plugins."], }, def => { @@ -488,12 +586,12 @@ def => { '~' => "g4 undo", '!' => "g4 argm undo modec", '@' => "g4 arg undo", - '#' => "g2 vim6 new", + '#' => "g2 v6", '$' => "g2", '%' => "g2", '^' => "g2", '&' => "g4 undo", - '*' => "g2 vim6 new", + '*' => "g2 v6", '(' => 'g2', ')' => 'g2', '_' => "g2", @@ -527,11 +625,11 @@ def => { '^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", @@ -539,7 +637,7 @@ def => { '^e'=> "g3", 'f' => "g2 arg", 'F' => "g2 arg", - '^f'=> "g2", + '^f'=> "g3", 'g' => "g9 arg modeg", 'G' => "g2", '^g'=> "g1", @@ -548,7 +646,7 @@ def => { '^h'=> "=h", 'i' => "g6 undo modei", 'I' => "g6 undo modei", - '^i'=> "g2 vim6 new", + '^i'=> "g2 v6", 'j' => "g2", 'J' => "g4 undo", '^j'=> "=j", @@ -565,7 +663,7 @@ def => { '^n'=> "=j", 'o' => "g6 undo modei", 'O' => "g6 undo modei", - '^o'=> "g2 vim6 new", + '^o'=> "g2 v6", 'p' => "g4 undo", 'P' => "g4 undo", '^p'=> "=k", @@ -574,7 +672,7 @@ def => { '^q'=> "g1", # or ^v 'r' => "g4 arg undo", 'R' => "g6 undo modei", - '^r'=> "g4 undo vim6 new", + '^r'=> "g4 undo v6", 's' => "g6 undo modei", 'S' => "g6 undo modei", '^s'=> "g1", @@ -586,7 +684,7 @@ def => { '^u'=> "g3", 'v' => "g8 modev", 'V' => "g8 modev", - '^v'=> "g8 modev vim6 new", + '^v'=> "g8 modev v6", 'w' => "g2", 'W' => "g2", '^w'=> "g9 arg mode^w", @@ -606,65 +704,68 @@ def => { "\e"=> "g7 mode", - '~' => "g4 argm vim6 new", - '@' => "g4 vim7 new", - '#' => "g2 vim6 new", + '~' => "g4 argm v6", + '@' => "g4 v7", + '#' => "g2 v6", '$' => "g2", - '^' => "g2 vim6 new", + '^' => "g2 v6", '&' => "g4", - '*' => "g2 vim6 new", - '_' => "g2 vim6 new", - '+' => "g4 vim7 new", - '`' => "g2 vim6 new arg", + '*' => "g2 v6", + '_' => "g2 v6", + '+' => "g4 v7", + '`' => "g2 v6 arg", '8' => "g1", - '0' => "g2 vim6 new", - '-' => "g4 vim7 new", + '0' => "g2 v6", + '-' => "g4 v7", '^['=> "g7 mode", ']' => "g3", '^]'=> "g3", ';' => "g2", - "'" => "g2 vim6 new arg", - '<' => "g4 vim7 new", - '?' => "g4 argm vim6 new", + "'" => "g2 v6 arg", + '<' => "g4 v7", + '?' => "g4 argm v6", ',' => "g2", 'a' => "g1", '^a'=> "g1", - 'd' => "g2 vim6 new", - 'D' => "g2 vim6 new", + 'c' => 'g4 argm xcommentary', + 'd' => "g2 v6", + 'D' => "g2 v6", 'e' => "g2", 'E' => "g2", - 'f' => "g4 vim6 new", - 'F' => "g4 vim7 new", + 'f' => "g4 v6", + 'F' => "g4 v7", 'g' => "g2", '^g'=> "g1 vim6", 'h' => "g8 modev", 'H' => "g8 modev", - '^h'=> "g8 modev vim6 new", + '^h'=> "g8 modev v6", 'i' => "g6 undo modei", 'I' => "g6 undo modei", - 'j' => "g2 vim6 new", + 'j' => "g2 v6", 'J' => "g4", - 'k' => "g2 vim6 new", - 'm' => "g2 vim6 new", - 'n' => "g8 vim7 new modev", - 'N' => "g8 vim7 new modev", + 'k' => "g2 v6", + 'l' => 'g3 argm arg xlion', + 'L' => 'g3 argm arg xlion', + 'm' => "g2 v6", + 'n' => "g8 v7 modev", + 'N' => "g8 v7 modev", 'o' => "g2", 'p' => "g4 undo", 'P' => "g4", 'q' => "g4 argm", - 'Q' => "g7 vim6 new", + 'Q' => "g7 v6", 'r' => "g4 arg", 'R' => "g6 undo modei", - '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", + 's' => "g1 v6", + 't' => "g3 v7", + 'T' => "g3 v7", + 'u' => "g4 argm v6", # XXX undo? + 'U' => "g4 undo argm v6", 'v' => 'g8 modev', 'V' => "g4", - 'w' => "g4 argm vim7 new", - 'x' => "g4 vim7 new", + 'w' => "g4 argm v7", + 'x' => "g4 v7 ext", }, # mode g Z => { @@ -673,7 +774,7 @@ def => { "\e"=> "g7 mode", '^['=> "=\e", - 'Q' => "g4 vim6 new", + 'Q' => "g4 v6", 'Z' => "g4", }, # mode Z @@ -685,47 +786,47 @@ def => { '^' => "g3", '+' => "g3", '-' => "g3", - '=' => "g4 vim7 new", + '=' => "g4 v7", '.' => "g3", '^['=> "=\e", - 'a' => "g4 vim6 new folding", - 'A' => "g4 vim6 new folding", + 'a' => "g4 v6 folding", + 'A' => "g4 v6 folding", 'b' => "g3", - 'c' => "g4 vim6 new folding", - 'C' => "g4 vim6 new folding", - 'd' => "g4 vim6 new folding", - 'D' => "g4 vim6 new folding", + 'c' => "g4 v6 folding", + 'C' => "g4 v6 folding", + 'd' => "g4 v6 folding", + 'D' => "g4 v6 folding", 'e' => "g3", - 'E' => "g4 vim6 new folding", - 'f' => "g4 argm vim6 new folding", - 'F' => "g4 vim6 new folding", - 'g' => "g4 vim7 new", - 'G' => "g4 vim7 new", + 'E' => "g4 v6 folding", + 'f' => "g4 argm v6 folding", + 'F' => "g4 v6 folding", + 'g' => "g4 v7", + 'G' => "g4 v7", 'h' => "g3", 'H' => "g3", - 'i' => "g4 vim6 new folding", - 'j' => "g2 vim6 new folding", - 'k' => "g2 vim6 new folding", + 'i' => "g4 v6 folding", + 'j' => "g2 v6 folding", + 'k' => "g2 v6 folding", 'l' => "g3", 'L' => "g3", '^m'=> "g3", - '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", + 'm' => "g4 v6 folding", + 'M' => "g4 v6 folding", + 'n' => "g4 v6 folding", + 'N' => "g4 v6 folding", + 'o' => "g4 v6 folding", + 'O' => "g4 v6 folding", + 'r' => "g4 v6 folding", + 'R' => "g4 v6 folding", 's' => "g3", 't' => "g3", - '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", + 'u' => "g4 arg v7", + 'v' => "g4 v6 folding", + 'w' => "g4 v7", + 'W' => "g4 v7", + 'x' => "g4 v6 folding", + 'X' => "g4 v6 folding", 'z' => "g3", }, # mode z @@ -734,12 +835,12 @@ def => { "\e"=> "g7 mode", - "`" => "g2 vim6 new", + "`" => "g2 v6", '#' => "g2", '(' => "g2", '*' => "=[/", '/' => "g2", - "'" => "=[` ^", # vim6 new + "'" => "=[` ^", # v6 '{' => "g2", '[' => "g2", '^['=> "=\e", @@ -755,10 +856,32 @@ def => { '^i'=> 'g3', 'm' => "g2", 'p' => "g4", - 'P' => "g4", - 's' => "g3 vim7 new", - 'S' => "g3 vim7 new", - 'z' => "g2 vim6 new folding", + 'P' => "=[p", + 's' => "g3 v7", + 'S' => "g3 v7", + 'z' => "g2 v6 folding", + + 'a' => "g3 xunimpaired", + 'A' => "g3 xunimpaired", + 'b' => "g3 xunimpaired", + 'B' => "g3 xunimpaired", + 'e' => "g4 xunimpaired", + 'l' => "g3 xunimpaired", + 'L' => "g3 xunimpaired", + '^l'=> "g3 xunimpaired", + '^l'=> "g3 xunimpaired", + 'f' => "g3 xunimpaired", # overrides native alias + 'n' => "g3 xunimpaired", + 'o' => "g9 arg xunimpaired", + 'q' => "g3 xunimpaired", + 'Q' => "g3 xunimpaired", + '^q'=> "g3 xunimpaired", + 't' => "g3 xunimpaired", + 'T' => "g3 xunimpaired", + 'u' => "g4 argm xunimpaired", + 'x' => "g4 argm xunimpaired", + 'y' => "g4 argm xunimpaired", + ' ' => "g4 xunimpaired", }, # mode [ ']' => { @@ -766,11 +889,11 @@ def => { "\e"=> "g7 mode", - "`" => "g2 vim6 new", + "`" => "g2 v6", '#' => "g2", ')' => "g2", '*' => "=]/", - "'" => "=]` ^", # vim6 new + "'" => "=]` ^", # v6 '/' => "g2", '[' => "g2", '^['=> "=\e", @@ -788,9 +911,31 @@ def => { 'm' => "g2", 'p' => "g4", 'P' => "=[p", - 's' => "g3 vim7 new", - 'S' => "g3 vim7 new", - 'z' => "g2 vim6 new folding", + 's' => "g3 v7", + 'S' => "g3 v7", + 'z' => "g2 v6 folding", + + 'a' => "g3 xunimpaired", + 'A' => "g3 xunimpaired", + 'b' => "g3 xunimpaired", + 'B' => "g3 xunimpaired", + 'e' => "g4 xunimpaired", + 'l' => "g3 xunimpaired", + 'L' => "g3 xunimpaired", + '^l'=> "g3 xunimpaired", + '^l'=> "g3 xunimpaired", + 'f' => "g3 xunimpaired", # overrides native alias + 'n' => "g3 xunimpaired", + 'o' => "g9 arg xunimpaired", + 'q' => "g3 xunimpaired", + 'Q' => "g3 xunimpaired", + '^q'=> "g3 xunimpaired", + 't' => "g3 xunimpaired", + 'T' => "g3 xunimpaired", + 'u' => "g4 argm xunimpaired", + 'x' => "g4 argm xunimpaired", + 'y' => "g4 argm xunimpaired", + ' ' => "g4 xunimpaired", }, # mode ] '^w' => { @@ -815,7 +960,7 @@ def => { '^c'=> "g7 mode", 'd' => "g3", 'f' => "g4", - 'F' => "g4 vim7 new", + 'F' => "g4 v7", 'g' => "g9 arg mode^wg", 'h' => "g3", 'H' => "g3", @@ -836,7 +981,7 @@ def => { 's' => "g3", 'S' => "=^ws", 't' => "g3", - 'T' => "g3 vim7 new", + 'T' => "g3 v7", 'v' => "g3", 'w' => "g3", 'W' => "g3", @@ -852,8 +997,8 @@ def => { ']' => "g3", '}' => "g3", '^]'=> "g3", - 'f' => "g4 vim7 new", - 'F' => "g4 vim7 new", + 'f' => "g4 v7", + 'F' => "g4 v7", }, # mode ^w g v => { @@ -861,30 +1006,26 @@ def => { '!' => "g4", ':' => "g7 modec", - ',' => "=,", - "'" => "='", - '"' => '="', '<' => "g4", '=' => 'g4 undo', '>' => 'g4', - '~' => "g4 vim6 new", + '~' => "g4 v6", '^['=> "=\e", '^]'=> "g3", '^\\'=>'^\\', - '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', + 'a' => 'g9 modeva arg v6', + 'A' => 'g6 modei v6', + '^a'=> 'g4 undo v8', + 'c' => 'g6 modei v6', + 'C' => 'g6 modei v6', '^c'=> "g7 mode", - 'd' => "g4 vim6 new", - 'D' => "g4 vim6 new", + 'd' => "g4 v6", + 'D' => "g4 v6", 'g' => "g9 arg modevg", '^g'=> "g8", - '^h'=> 'g4', - 'i' => "g9 modeva arg vim6 new", - 'I' => "g6 modei vim6 new", # block + 'i' => "g9 modeva arg v6", + 'I' => "g6 modei v6", # block 'J' => "g4", 'K' => 'g4', 'o' => "g2", @@ -892,28 +1033,24 @@ def => { '^o'=> "g8", 'p' => 'g4', 'P' => 'g4', - '^q'=> "=^q", 'r' => 'g4 arg', 'R' => "=vS", # "might change in future" - '^s'=> "=^s", 's' => "=vc", - 'S' => 'g6 modei vim6 new', - 'u' => "g4 vim6 new", - 'U' => "g4 vim6 new", + 'S' => 'g6 modei v6', + 'u' => "g4 v6", + 'U' => "g4 v6", 'v' => "g8", 'V' => "g8", - '^v'=> "g8 vim6 new", + '^v'=> "g8 v6", 'x' => "=vd", 'X' => "=vD", - '^x'=> 'g4 undo vim8 new', + '^x'=> 'g4 undo v8', '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 => { @@ -922,14 +1059,17 @@ def => { "\e"=> "g8 modev", '^['=> "=\e", - '?' => "g4 vim6 new", - '^a'=> 'g4 undo vim8 new', + '?' => "g4 v6", + '^a'=> 'g4 undo v8', '^g' => "g1 vim6", - 'J' => 'g4 vim6 new', - 'q' => "g4 vim6 new", + 'c' => 'g4 xcommentary', + 'J' => 'g4 v6', + 'l' => 'g3 arg xlion', + 'L' => 'g3 arg xlion', + 'q' => "g4 v6", 'v' => "=gv", - 'w' => 'g4 vim7 new', - '^x'=> 'g4 undo vim8 new', + 'w' => 'g4 v7', + '^x'=> 'g4 undo v8', }, # mode v g va => { @@ -938,23 +1078,23 @@ def => { '(' => "=vab", ')' => "=vab", '`' => "=va'", - "'" => 'g2 vim7 new', + "'" => 'g2 v7', '"' => "=va'", - '<' => 'g2 vim6 new', + '<' => 'g2 v6', '>' => "=va<", - '[' => 'g2 vim6 new', + '[' => 'g2 v6', '{' => "=vaB", '^['=> "=\e", ']' => "=va[", '}' => "=vaB", - 'b' => 'g2 vim6 new', - 'B' => 'g2 vim6 new', - 'p' => 'g2 vim6 new', - 's' => 'g2 vim6 new', - 't' => 'g2 vim7 new', - 'w' => 'g2 vim6 new', - 'W' => 'g2 vim6 new', + 'b' => 'g2 v6', + 'B' => 'g2 v6', + 'p' => 'g2 v6', + 's' => 'g2 v6', + 't' => 'g2 v7', + 'w' => 'g2 v6', + 'W' => 'g2 v6', }, # mode v a #c => { @@ -975,7 +1115,7 @@ def => { # '^n' => "", #todo # '^p' => "", #todo # '^r' => "=i^r", # and then some... - # ## ["g4 arg vim6 new"], + # ## ["g4 arg v6"], # '^q' => "=^q", # '^u' => "=i^u", # '^v' => "=i^v", @@ -987,38 +1127,38 @@ def => { "\e" => "g7 mode", '^@' => "g4", - '^^' => "g4 vim6 new", + '^^' => "g4 v6", '^['=> "=\e", - '^]' => "g4 vim6 new", - '^_' => "g4 vim6 new", + '^]' => "g4 v6", + '^_' => "g4 v6", '^\\'=>'^\\', - '^a' => "g4 vim6 new", - '^b' => "no vim6 new", + '^a' => "g4 v6", + '^b' => "no v6", '^c' => "g7 mode", '^d' => 'g4', - '^e' => "g4 vim6 new", + '^e' => "g4 v6", '^f' => 'g4', '^g' => "g9 modei^g arg", '^h' => "g4", '^i' => "g4", '^j' => "g4", - '^k' => 'g4 arg arg vim6 new linkdigraphs', - '^l' => "g7 mode vim6 new", # insertmode only + '^k' => 'g4 arg arg v6 linkdigraphs', + '^l' => "g7 mode v6", # insertmode only '^m' => "g4", - '^n' => "g2 vim6 new", + '^n' => "g2 v6", '^o' => 'g4', - '^p' => "g2 vim6 new", + '^p' => "g2 v6", '^q' => "=^q", # or i^v - '^r' => 'g4 arg vim6 new', + '^r' => 'g4 arg v6', '^s' => "=^s", '^t' => "g4", '^u' => "g4", '^v' => 'g4 linkcharset', '^w' => "g4", - '^x' => 'g9 arg modei^x vim6 new', - '^y' => "g4 vim6 new", - '^z' => "g1 vim6 new", # insertmode only + '^x' => 'g9 arg modei^x v6', + '^y' => "g4 v6", + '^z' => "g1 v6", # insertmode only }, # modei 'i^g' => { @@ -1028,8 +1168,9 @@ def => { 'k' => 'g2', 'j' => 'g2', + 's' => 'g4 arg xsurround', 'u' => 'g4', - 'U' => 'g4 vim8 new', + 'U' => 'g4 v8', # other keys (even esc) are not recognized }, # mode i ^g @@ -1047,16 +1188,45 @@ def => { '^k' => 'g4', '^l' => 'g4', '^n' => 'g4', - '^o' => 'g4 vim7 new', + '^o' => 'g4 v7', '^p' => 'g4', '^s' => 'g4', 's' => "=i^x^s", '^t' => 'g4', - '^u' => 'g4 vim7 new', + '^u' => 'g4 v7', '^v' => 'g4', '^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 },