I saw somewhere on the web someone using
Ctrl-J and as I didn't know this mapping I looked up in the relevant doc and found the following:
j or <Down> or CTRL-J or <NL> or CTRL-N [count] lines downward linewise.
Which leads me to several questions:
- What is
<NL>: I would see it as an equivalent of
<CR>since pressing Enter will go down one line in normal mode by default but why is it
<NL>here and not
- What is the difference between these mappings: Do all of these 5 options go one line down in the same way? According to my tests I would answer yes but that would lead to my next question.
- Why are there 5 mappings to do the exact same thing: I can understand that
<down>are kept for users who are not used to vim mappings, but why do the other mappings exist?
- When is it more interesting to use one more than the other: That is a continuation of the previous question: if there is so many possibilities I guess that they have different advantages or are better to use in specific use cases. What are those use cases?
I find the redundancy of these commands even more strange when I look at
:h k: there are only 3 ways to go up:
ctrl-p. So the bonus question is: Why are there 5 ways to go down and only 3 to go up?
Ctrl-Jbinding? It seems to be common, at least among those I know, to map
Ctrl-J/Kto "down/up until the next line with the same indentation level as the starting line".