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<CR>
? - 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
j
and<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: k
, <UP>
and ctrl-p
. So the bonus question is: Why are there 5 ways to go down and only 3 to go up?
Ctrl-J
binding? It seems to be common, at least among those I know, to mapCtrl-J/K
to "down/up until the next line with the same indentation level as the starting line".<CR>
here"