How to break a line in vim in normal mode?

后端 未结 8 525
梦谈多话
梦谈多话 2021-01-31 08:08

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

相关标签:
8条回答
  • 2021-01-31 08:17

    You can use recording.

    1. Place your cursor where you would like to insert a line break.
    2. Type qa to start recording into register a (you can use another register other than a if you want.)
    3. Then type 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.

    0 讨论(0)
  • 2021-01-31 08:22

    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...

    0 讨论(0)
  • 2021-01-31 08:23

    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]

    0 讨论(0)
  • 2021-01-31 08:24

    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 '$'

    0 讨论(0)
  • 2021-01-31 08:33

    put cursor in position and...

      r<Enter>
    
    0 讨论(0)
  • 2021-01-31 08:39

    In normal mode, Press the character 'O' then 'Esc'. No mapping needed.

    0 讨论(0)
提交回复
热议问题