I would like to break a line (at the location of the cursor) in to two lines without leaving normal mode (entering insert or command-line mode). Is this possible?
I currently get to the location I want and hit 'i' to enter insert mode, 'enter' to break the line in two, then 'esc' to return to normal mode.
I am not trying to set a maximum line length or do any syntax or anything like that. I just want to break one line into two lines without leaving normal mode. 'J' joins the line the cursor is on to the line below it, which is handy. I want the opposite -- to break one line into two with a single command.
Per this duplicate question: How do I insert a linebreak where the cursor is without entering into insert mode in Vim?
From within vim, type:
This maps the G key to macro I [Enter] [Escape]
As far as I know this isn't possible without entering insert mode. You can however macro it with something like (replace Z with whatever key you want to use)
basically this maps the key 'Z' to enter insert mode 'i', insert a carriage return '
<cr>
', leave insert mode '<esc>
', go up a line 'k' and finally go to the end of the line '$'Similar to other answers but doesn't replace the current character.
R<enter>
No remaps required.
I don't know of a single key command, but a lot of times I do "r" then "Enter" to break a line.
"r" replaces the current character under the cursor without going into insert mode. This may not be what you want if you don't want to replace a character...
Try this:
then just press Ctrl-J whenever you want to split a line.
You can use recording. Place your cursor where you would like to insert a line break. Type
qa
to start recording into registera
(you can use another register other thana
if you want. Then typei
(switch to insert mode), Return (insert newline), escape (exit insert mode),q
(ends recording.) Now you can invoke this sequence of keys by typing@a
(wherea
is the register number you used when you started the recording, so just keep moving the cursor where you want to insert a newline and type@a
.