如何在正常模式下打破vim中的一行?

Ted*_*Ted 34 vim macvim

我想在不离开正常模式(进入插入或命令行模式)的情况下将一行(在光标位置)分成两行.这可能吗?

我目前到达我想要的位置并点击'i'进入插入模式,'输入'将线路分成两部分,然后'esc'返回正常模式.

我不是要设置最大行长度或做任何语法或类似的东西.我只是想在不离开正常模式的情况下将一行分成两行.'J'将光标所在的行连接到它下面的行,这很方便.我想要相反 - 用一个命令将一行分成两行.

Ama*_*9MF 36

试试这个:

:nnoremap <NL> i<CR><ESC>
Run Code Online (Sandbox Code Playgroud)

然后只要你想分割一条线就按Ctrl-J.

  • 只是想知道这个命令是如何工作的,因为我看不到它. (9认同)
  • 我认为最好使用`:noremap`而不是`:map`,并且在这种情况下使用`:nnoremap`更好,因为问题是*normal mode*. (6认同)
  • Control-J生成与<NL>相同的字符代码. (5认同)
  • 这正是我所希望的.我觉得奇怪的是,这不是vim中的内置命令,但是我将这行添加到我的.vimrc文件中,我很高兴地一起玩. (2认同)
  • 谢谢,我很感激发现一个我从未知道我需要的功能直到现在...... ;-) (2认同)

And*_*ite 32

我不知道一个单键命令,但很多时候我做"r"然后"回车"打破一条线.

"r"替换光标下的当前字符而不进入插入模式.如果你不想替换一个角色,这可能不是你想要的......


Ser*_*ujo 19

把光标放在位置上......

  r<Enter>
Run Code Online (Sandbox Code Playgroud)

  • 因为它用\n替换当前位置中的字符 (3认同)

Mar*_*yne 16

与其他答案类似,但不替换当前字符.

R<enter>

无需重新映射.

  • 关闭,但让用户处于插入模式,他希望最终处于正常模式. (5认同)