vim: fix and improve command descriptions
[sheet.git] / vim-cmds.inc.pl
index bc05a940de26a2eb61c6f1c43347e099bb84398d..a3b9ba4e1903dcd187dd20b07cc033832398496c 100644 (file)
@@ -3,14 +3,14 @@ use utf8;
 '' => {
        desc => "normal mode",
 
-       '~' => ["toggle case", "co undo"],
-       '!' => ["extern$sign{_}al filter", "co argm undo modec"],
+       '~' => ["case toggle", "co undo"],
+       '!' => ["filt$sign{_}er lines", "co argm undo modec"],
        '@' => ["play macro", "co arg undo"],
        '#' => ["rev. find word", "pm vim"],
        '$' => ["eol", "pm"],
        '%' => ["goto match", "pm"],
        '^' => ['"soft" bol', "pm"],
-       '&' => ["repeat :s", "co undo"],
+       '&' => [":s rep$sign{_}eat", "co undo"],
        '*' => ["find word", "pm vim"],
        '(' => ["begin sentence", "pm"],
        ')' => ["end sentence", "pm"],
@@ -22,23 +22,23 @@ use utf8;
        '-' => ["prev line", "pm"],
        '=' => ["auto form$sign{_}at", "co argm undo"],
        '?' => ["find rev.", "pm arg modec"],
-       ';' => ["repeat t/T/f/F", "pm"],
+       ';' => ["repeat t/f/T/F", "pm"],
        ':' => ["ex cmd line", "co modec"],
        "'" => ["goto mark bol", "pm arg"],
        '"' => ["use register", "co arg"],
-       '\\' => ["not used", "me arg"],
+       '\\' => ["reser$sign{_}ved", 'me arg'],
        '^\\' => ["to mode/$sign{_}ext$sign{_}ens$sign{_}ion$sign{_}s", "mo arg"],
        ',' => ["reverse t/T/f/F", "pm"],
-       '<' => ["un­$sign{_}indent", "co argm undo"],
-       '.' => ["repeat cmd", "co undo"],
-       '>' => ["ident", "co argm undo"],
+       '<' => ["un$sign{_}ind$sign{_}ent", "co argm undo"],
+       '.' => ["repeat last cmd", "co undo"],
+       '>' => ["ind$sign{_}ent", "co argm undo"],
        '/' => ["find", "pm arg modec"],
        '[' => ["move back$sign{_}ward$sign{_}s", "me arg mode["],
        '{' => ["begin parag.", "pm"],
        ']' => ["move forw$sign{_}ard", "me arg mode]"],
        '}' => ["end parag.", "pm"],
        '^]'=> ["go to tag", "po"],
-       '|' => ["bol/$sign{_}goto col", "pm"],
+       '|' => ["goto (1st) col", "pm"],
 
        'a' => ["append", "mi undo modei"],
        'A' => ["append to eol", "mi undo modei"],
@@ -46,7 +46,7 @@ use utf8;
        'b' => ["prev word", "pm", "Back"],
        'B' => ['prev <span style="font-variant:small-caps">word</span>', "pm"],
        '^b'=> ["page up", "pm"],
-       'c' => ["change", "mi argm undo modei"],
+       'c' => ["chan$sign{_}ge", "mi argm undo modei"],
        'C' => ["change to eol", "mi undo modei"],
        '^c'=> ["abort", "co"],
        'd' => ["delete", "co argm undo"],
@@ -62,11 +62,11 @@ use utf8;
        'G' => ["eof/$sign{_}goto ln", "pm"],
        '^g'=> [":file (info)", "ci"],
        'h' => [$sign{left}, "pm"],
-       'H' => ["screen top", "pm"],
+       'H' => ["screen top", "pm", 'Home row'],
        '^h'=> "h",
        'i' => ["insert mode", "mi undo modei"],
        'I' => ["insert at bol", "mi undo modei"],
-       '^i'=> ["jump to newer", "pm"],
+       '^i'=> ["jump to newer", "pm vim", 'Increase position'],
        'j' => [$sign{down}, "pm"],
        'J' => ["join lines", "co undo"],
        '^j'=> "j",
@@ -76,47 +76,47 @@ use utf8;
        'L' => ["screen bottom", "pm", "Lowermost Line"],
        '^l'=> ["redraw", "ci"],
        'm' => ["set mark", "co arg"],
-       'M' => ["screen mid'l", "pm"],
+       'M' => ["screen mid$sign{_}dle", "pm"],
        '^m'=> "+",
        'n' => ["next find", "pm"],
        'N' => ["prev find", "pm"],
        '^n'=> "j",
-       'o' => ["open below", "mi undo modei"],
-       'O' => ["open above", "mi undo modei"],
-       '^o'=> ["jump to older", "pm"],
+       'o' => ["line below", "mi undo modei", 'Open'],
+       'O' => ["line above", "mi undo modei"],
+       '^o'=> ["jump to older", "pm vim"],
        'p' => ["paste after", "co undo"],
        'P' => ["paste before", "co undo"],
        '^p'=> "k",
        'q' => ["record macro", "mo arg", "Queue seQuence"],
        'Q' => ["ex mode", "mo"],
-       '^q'=> ["(xon)", "ci"], # or ^v
+       '^q'=> ["(xon)", "ci", 'Qome back'], # or ^v
        'r' => ["replace char", "co arg undo"],
        'R' => ["replace mode", "mi undo modei"],
-       '^r'=> ["redo", "co undo"],
+       '^r'=> ["redo", "co undo vim"],
        's' => ["subst char", "mi undo modei"],
        'S' => ["subst line", "mi undo modei"],
-       '^s'=> ["(xoff)", "ci"],
+       '^s'=> ["(xoff)", "ci", 'Stop'],
        't' => ["till char", "pm arg"],
        'T' => ["back till char", "pm"],
-       '^t'=> ["previous tag", "po"],
+       '^t'=> ["back tag", "po"], # backtrag :P
        'u' => ["undo", "co undo"],
        'U' => ["undo line", "co undo"],
        '^u'=> ["scroll up", "po"],
        'v' => ["visual mode", "mv modev"],
        'V' => ["visual lines", "mv modev"],
-       '^v'=> ["visual block", "mv modev"],
+       '^v'=> ["visual block", "mv modev vim"],
        'w' => ["next word", "pm"],
        'W' => ['next <span style="font-variant:small-caps">word</span>', "pm"],
        '^w'=> ["window cmds", "me arg mode^w"],
        'x' => ["delete char", "co undo"],
-       'X' => ["back­$sign{_}space", "co undo"],
+       'X' => ["back$sign{_}space", "co undo"],
        '^x'=> ["subs$sign{_}tract", "co undo"],
-       'y' => ["yank", "co argm"],
+       'y' => ["yank", "co argm", '(copy)'],
        'Y' => ["yank line", "co"],
-       '^y'=> ["window up", "po"],
+       '^y'=> ["window up", "po", 'Yield'],
        'z' => ["extra cmds", "me arg modez"],
        'Z' => ["quit", "me arg modeZ"],
-       '^z'=> [":sus$sign{_}pend", "ci"],
+       '^z'=> [":sus$sign{_}pend", "ci", 'zzz (as in sleep)'],
 }, # normal mode
 
 g => {
@@ -128,7 +128,7 @@ g => {
        '#' => ["rev. find string", "pm vim"],
        '$' => ["virt$sign{_}ual eol", "pm"],
        '^' => [qq'"soft" bol v$sign{_}irt$sign{_}ual', "pm vim"],
-       '&' => ["repeat :s global$sign{_}ly", "co", "Global substitute"],
+       '&' => [":s rep$sign{_}eat glob$sign{_}al$sign{_}ly", "co", "Global substitute"],
        '*' => ["find string", "pm vim"],
        '_' => [qq'"soft" eol', "pm vim"],
        '+' => ["later undo", "co vim7"],
@@ -157,43 +157,43 @@ g => {
        '^g'=> ["cursor pos info", "ci"],
        'h' => ["select mode", "mv modev", "Get Highlighted"],
        'H' => ["select lines", "mv modev", "Get Highlighted"],
-       '^h'=> ["select block", "mv modev", "Get Highlighted"],
+       '^h'=> ["select block", "mv modev vim", "Get Highlighted"],
        'i' => ["insert at last pos", "mi undo modei"],
        'I' => ["insert at soft bol", "mi undo modei"],
-       'j' => ["display line down", "pm vim"],
+       'j' => ["$sign{down} screen", "pm vim"],
        'J' => ["join leave spac$sign{_}ing", "co"],
-       'k' => ["display line up", "pm vim"],
-       'm' => ["g0 right half scr$sign{_}een", "pm vim"],
+       'k' => ["$sign{up} screen", "pm vim"],
+       'm' => ["center screen", "pm vim"],
        'o' => [":goto (byte)", "pm"],
-       'p' => ["paste no move", "co undo"],
-       'P' => ["paste before no move", "co"],
+       'p' => ["paste still", "co undo"],
+       'P' => ["paste before still", "co"],
        'q' => ["format", "co argm"],
        'Q' => ["ex mode manual :", "mo vim"],
        'r' => ["replace char vir.", "co arg"],
        'R' => ["replace mode v$sign{_}ir$sign{_}t$sign{_}ual", "mi undo modei"],
-       's' => ["sleep", "ci", "Go to Sleep"],
+       's' => ["sleep", "ci vim", "Go to Sleep"],
        't' => ["next tab", "po vim7", "Goto Tab"],
        'T' => ["previous tab", "po vim7"],
        'u' => ["lower$sign{_}case", "co argm vim"], # XXX undo?
        'U' => ["upper$sign{_}case", "co undo argm vim"],
-       'v' => ["previous visual mode", "mv modev", "precedinG Visual"],
+       'v' => ["previous highl$sign{_}ight", 'mv modev', 'precedinG Visual'],
        'V' => ["avoid reselect$sign{_}ion", "co"],
-       'w' => ["format remain cursor", "co argm vim7"],
+       'w' => ["for$sign{_}mat still", "co argm vim7"],
        'x' => ["Netrw$sign{_}BrowseX", "co vim7"],
 }, # mode g
 
 Z => {
-       desc => "additional commands (z)",
+       desc => "quit commands",
        lead => "Z",
 
        '^['=> ["esc", "mo mode"],
 
-       'Q' => [" :q!", "co vim"],
-       'Z' => [" :wq", "co"],
+       'Q' => [" :q! (force)", "co vim"],
+       'Z' => [" :wq (write)", "co"],
 }, # mode Z
 
 z => {
-       desc => "quit commands",
+       desc => "additional commands (z)",
        lead => "z",
 
        '^' => ["page above", "po"],
@@ -214,8 +214,8 @@ z => {
        'E' => ["eliminate folds", "co vim folding"],
        'f' => ["create fold", "co argm vim folding"],
        'F' => ["fold lines", "co vim folding"],
-       'g' => ["correct spelling", "co vim7", "Good word"],
-       'G' => ["add spelling", "co vim7"],
+       'g' => ["add spelling", "co vim7", 'Good word'],
+       'G' => ["temp spelling", "co vim7"],
        'h' => ["scroll $sign{right}", "po"],
        'H' => ["scroll $sign{right} half scr$sign{_}een", "po"],
        'i' => ["toggle all folds", "co vim folding"],
@@ -240,7 +240,7 @@ z => {
        'W' => ["temp misspell$sign{_}ing", "co vim7"],
        'x' => ["update folds", "co vim folding"],
        'X' => ["reapply folds", "co vim folding"],
-       'z' => ["line at center", "po", "Zee Zenter (with an accent)"],
+       'z' => ["line at center", "po", "Zee Zenter (with a funny accent)"],
 }, # mode z
 
 '[' => {
@@ -259,13 +259,13 @@ z => {
        ']' => [qq'<span style="font-variant:small-caps">section</span> back$sign{_}ward$sign{_}s', "pm"],
 
        'c' => ["start of change backw$sign{_}ards", "pm"],
-       'd' => ["list define", "co"],
-       'D' => ["list defines", "co"],
-       '^d'=> ["first #define", "po"],
+       'd' => ["define line", "ci"],
+       'D' => ["defin$sign{_}ition", "co"],
+       '^d'=> ["to defin$sign{_}it$sign{_}ion", "po"],
        'f' => "gf",  # deprecated
-       'i' => ["list line", "co"],
-       'I' => ["list lines", "co"],
-       '^i'=> ["first occur$sign{_}renc$sign{_}e", "po"],
+       'i' => ["first occur$sign{_}renc$sign{_}e line", 'ci'],
+       'I' => ["first occur$sign{_}renc$sign{_}e", 'co'],
+       '^i'=> ["to first occur$sign{_}renc$sign{_}e", 'po'],
        'm' => ["start of funct$sign{_}ion", "pm"],
        'p' => ["P but reindent", "co"],
        'P' => ["[p", "co"],
@@ -290,13 +290,13 @@ z => {
        '}' => ["next open }", "pm"],
 
        'c' => ["start of change forw$sign{_}ards", "pm"],
-       'd' => ["list define", "co"],
-       'D' => ["list defines", "co"],
-       '^d'=> ["first #define", "po"],
+       'd' => ["next define line", "ci"],
+       'D' => ["next define", "co"],
+       '^d'=> ["to next define", "po"],
        'f' => "gf",  # deprecated
-       'i' => ["list line", "co"],
-       'I' => ["list lines", "co"],
-       '^i'=> ["first occur$sign{_}renc$sign{_}e", "po"],
+       'i' => ["next occur$sign{_}renc$sign{_}e line", "ci"],
+       'I' => ["next occur$sign{_}renc$sign{_}e", "co"],
+       '^i'=> ["to occur$sign{_}renc$sign{_}e", "po"],
        'm' => ["end of funct$sign{_}ion", "pm"],
        'p' => ["p but reindent", "co"],
        'P' => "[p",
@@ -372,14 +372,15 @@ v => {
        '!' => ["external filter", "co"],
        ':' => ["cmd on range", "mo modec"],
        '<' => ["un$sign{_}indent", "co"],
-       '=' => ["equalprg filter", "co"],
+       '=' => ["equal$sign{_}prg filt$sign{_}er", "co"],
        '>' => ["indent", "co"],
        '~' => ["toggle case", "co vim"],
        '^['=> ["esc", "mo mode"],
        '^]'=> ["jump to tag", "po"],
+       '^\\'=>'^\\',
 
-       'a' => ["extend area", "me arg"], # XXX mode
-       'A' => ["append to block", "mi modei"], # block
+       'a' => ["extend area", "me modeva arg vim"],
+       'A' => ["append to block", "mi modei vim"], # block
        'c' => ["replace area", "mi modei vim"],
        'C' => ["replace lines", "mi modei vim"],
        '^c'=> ["abort", "mo mode"],
@@ -388,8 +389,8 @@ v => {
        'g' => ["extra cmds", "me arg modevg"],
        '^g'=> ["select mode", "mv"],
        '^h'=> ["delete area", "co"], # select mode only
-       'i' => ["extend area", "me arg"],
-       'I' => ["insert to block", "mi modei"], # block
+       'i' => ["extend inner a$sign{_}r$sign{_}ea", "me modeva arg vim"],
+       'I' => ["insert to block", "mi modei vim"], # block
        'J' => ["join lines", "co"],
        'K' => ["keyword$sign{_}prg", "co"],
        'o' => ["to other corner", "pm"],
@@ -407,7 +408,7 @@ v => {
        'U' => ["upper$sign{_}case", "co vim"],
        'v' => ["char$sign{_}wise", "mv"],
        'V' => ["line$sign{_}wise", "mv"],
-       '^v'=> ["block$sign{_}wise", "mv"],
+       '^v'=> ["block$sign{_}wise", "mv vim"],
        'x' => "vd",
        'X' => "vD",
        'y' => ["yank area", "co"],
@@ -428,16 +429,41 @@ vg => {
        '?' => ["rot13 encode", "co vim"],
        'J' => ["join leave spacing", "co vim"],
        'q' => ["format", "co vim"],
-       'v' => ["previous highl$sign{_}ight", "co"],
+       'v' => 'gv',
        'w' => ["format remain cursor", "co vim7"],
 }, # mode v g
 
+va => {
+       desc => 'text object selection (v a/i)',
+
+       '(' => 'vab',
+       ')' => 'vab',
+       '`' => "va'",
+       "'" => ["quoted string", 'pm vim7'],
+       '"' => "va'",
+       '<' => ["<> block", 'pm vim'],
+       '>' => 'va<',
+       '[' => ["[] block", 'pm vim'],
+       '{' => 'vaB',
+       '^['=> ["esc", 'mv modev'],
+       ']' => 'va[',
+       '}' => 'vaB',
+
+       'b' => ["() block", 'pm vim'],
+       'B' => ["{} Block", 'pm vim'],
+       'p' => ["para$sign{_}graph", 'pm vim'],
+       's' => ["senten$sign{_}ce", 'pm vim'],
+       't' => ["xml tag block", 'pm vim7'],
+       'w' => ["word", 'pm vim'],
+       'W' => ['<span style="font-variant:small-caps">word</span>', 'pm vim'],
+}, # mode v a
+
 #c => {
 #      desc => "command-line mode",
 #
 #      '^_' => 'i^_',
 #      '^^' => 'i^^',
-##     '^\\'=> ["cmd", "me arg"],
+#      '^\\'=>'^\\',
 #      '^a' => ["complete", ""], #todo
 #      '^b' => ["bol", "po"],
 #      '^c' => 'i^c',
@@ -465,20 +491,20 @@ i => {
        '^^' => ["toggle :lmap usag$sign{_}e", "co vim"],
        '^[' => ["esc", "mo mode"],
        '^]' => ["abbrev$sign{_}iate", "co vim"],
-       '^_' => ["change lang$sign{_}uage", "co vim"],
-       '^\\'=> ["switch mode", "mo arg"],
+       '^_' => ["toggle lang$sign{_}uage", "co vim"],
+       '^\\'=>'^\\',
 
        '^a' => ["insert prev$sign{_}ious", "co vim"],
-       '^b' => ["former i^_", "co"],
+       '^b' => ["former i^_", "no vim"],
        '^c' => ["abort, no abbr", "mo mode"],
        '^d' => ["un$sign{_}indent", "co"],
        '^e' => ["ins char below", "co vim"],
        '^f' => ["cinkeys: re-indent", "co"],
-       '^g' => ["start column", "pm arg"], #todo
+       '^g' => ["extra cmds", "me modei^g arg"],
        '^h' => ["back$sign{_}space", "co"],
        '^i' => ["tab", "co"],
        '^j' => ["enter", "co"],
-       '^k' => ["di$sign{_}graph", "co arg arg vim", "Key code"],
+       '^k' => ["di$sign{_}graph", "co arg arg vim linkdigraphs.plp", "Key code"],
        '^l' => ["<em>im</em> leave ins mode", "mo mode vim"],  # insertmode only
        '^m' => ["enter", "co"],
        '^n' => ["find next keyword", "pm vim"],
@@ -496,11 +522,21 @@ i => {
        '^z' => [":sus$sign{_}pend in <em>im</em>", "ci vim"],  # insertmode only
 }, # modei
 
+'i^g' => {
+       desc => "extended insert commands (i ctrl-g)",
+       lead => $ascii ? "'g"  : "ĝ",
+
+       'k' => ["$sign{up} start col$sign{_}umn", 'pm'],
+       'j' => ["$sign{down} start col$sign{_}umn", 'pm'],
+       'u' => ["break undo seq$sign{_}uence", 'co'],
+       # other keys (even esc) are not recognized
+}, # mode i ^g
+
 'i^x' => {
        desc => "insert completion commands (i ctrl-x)",
        lead => $ascii ? "'x"  : "x̂",
 
-       '^[' => ["esc", "mo mode"],
+       '^[' => ["esc", "mo mode"], # yes, it really leaves insert mode
        '^]' => ["complet$sign{_}e tags", "co"],
        '^d' => ["complet$sign{_}e def$sign{_}ines", "co"],
        '^e' => ["window up", "po"],