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 curr
You can use recording.
qa
to start recording into register a
(you can use another register other than a
if you want.)i
(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
(where a
is the register number you used when you started the recording), just keep moving the cursor where you want to insert a newline and type @a
.
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...
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:
:map g i[Ctrl+V][Enter][Ctrl+V][Esc][Enter]
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)
nmap Z i<cr><esc>k$
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 '$'
put cursor in position and...
r<Enter>
In normal mode, Press the character 'O' then 'Esc'. No mapping needed.