Let's say I create a macro that goes down one line.
qajq
Register a
contains exactly qajq
, and so @a
moves me down one line.
Now let's say I type j
into my buffer and yank it into register a
using "ayy
. Now, register a
looks like j^J
(notice the terminal newline digraph). Now, when I execute the macro a
, it jumps down two lines.
What exactly is happening here? Does Vim see the ^J
digraph and think that I want to go down an extra line, or is it something more subtle?
I guess this is one of those questions where the answer is, "because that's how it was designed." :P