'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"],
'x' => ["Netrw$sign{_}BrowseX", "co vim7"],
'^['=> ["esc", "mo mode"],
'^]'=> ["jump to tag", "po"],
- 'a' => ["extend area", "me arg"], # XXX mode
+ 'a' => ["extend area", "me modeva arg vim"],
'A' => ["append to block", "mi modei"], # block
'c' => ["replace area", "mi modei vim"],
'C' => ["replace lines", "mi modei vim"],
'g' => ["extra cmds", "me arg modevg"],
'^g'=> ["select mode", "mv"],
'^h'=> ["delete area", "co"], # select mode only
- 'i' => ["extend area", "me arg"],
+ 'i' => ["extend inner a$sign{_}r$sign{_}ea", "me modeva arg vim"],
'I' => ["insert to block", "mi modei"], # block
'J' => ["join lines", "co"],
'K' => ["keyword$sign{_}prg", "co"],
'?' => ["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",
#