diff options
Diffstat (limited to 'vim-mode/vim_mode.pl')
-rw-r--r-- | vim-mode/vim_mode.pl | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/vim-mode/vim_mode.pl b/vim-mode/vim_mode.pl index 90391da..91fbc0e 100644 --- a/vim-mode/vim_mode.pl +++ b/vim-mode/vim_mode.pl @@ -718,17 +718,19 @@ sub handle_command { my $skip = 0; - # . repeats the last command. - if ($char eq '.' and !$movement and defined $last->{char}) { - $char = $last->{char}; - # If . is given a count then it replaces original count. - if (not defined $numeric_prefix) { - $numeric_prefix = $last->{numeric_prefix}; + if (!$movement) { + # . repeats the last command. + if ($char eq '.' and defined $last->{char}) { + $char = $last->{char}; + # If . is given a count then it replaces original count. + if (not defined $numeric_prefix) { + $numeric_prefix = $last->{numeric_prefix}; + } + $operator = $last->{operator}; + $movement = $last->{movement}; + } elsif ($char eq '.') { + $skip = 1; } - $operator = $last->{operator}; - $movement = $last->{movement}; - } elsif ($char eq '.') { - $skip = 1; } if ($skip) { |