Saturday, December 8, 2012

Re: behaviour of d_

Hi esquifit!

On Sa, 08 Dez 2012, esquifit wrote:

> Hi,
>
> Given a file with the following lines (cursor position at '|')
>
> First line
> Second line beginning |with whitespace
> Third line
>
> the following commands produce the indicated results:
> 1) _ goes to first non-blank character in the same line ('S')
> 2) v_ visually select region between 'S' and cursor position
> 3) d_ deletes the *whole* second line (even characters after the current cursor position)
>
> 1 and 2 work as I'd expect. I don't understand the behaviour of d_ though.
> According to :he d
>
> "An exception for the d{motion} command: If the motion is not linewise, the
> start and end of the motion are not in the same line, and there are only
> blanks before the start and after the end of the motion, the delete becomes
> linewise. This means that the delete also removes the line of blanks that you
> might expect to remain."
>
> However this doesn't cover my example since the condition 'start and end of the motion are not in the same line' doesn't apply. I wasn't able to find another documented exception.
>
> Is this a bug or am I missing something?

_ is a linewise motion, so you are deleting the complete line.
You should however be able to use the o_v operator to force the motion
to be characterwise, however, for some reason, this does not seem to
work with d

regards,
Christian
--
Ein Mann, der seine Frau liebt, achtet nicht auf ihr Kleid, sondern
auf seine Frau. Fängt er an, auf die Kleidung zu achten, hat seine
Liebe schon nachgelassen.
-- Werner Mitsch

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: