Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a file, say

Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, 
d,
Hello A, b, c, d,
Hello A, b, c, 
d,
Hello A, b, c, d,
Hello A, b, c, d,

and I'd like it to look like

Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,

So I might run the command :g/^d/j and that will join the lines - but it joins the matched lines to the line after - I'd like to join the matched lines to the line before - how might I do this?

share|improve this question

1 Answer 1

up vote 4 down vote accepted

You need to be a little more creative with your pattern:

:g/\nd/j

We are essentially matching the line above the line with the single d.

Another solution:

:g/^d/-1j

We move one line up before we do the join.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.