Vim 在插入模式下创建新行

Vim 在插入模式下创建新行,vim,Vim,我想使用Shift+Enter之类的工具在Vim中创建一个新行 因此,如果光标是|,我想做以下几点: <%= some.code("in here") | %> 现在,按Shift+Enter(或类似的键) 并将其作为输出: <%= some.code("in here") %> and my new line here | 我的新线在这里| 这可能吗?切换到正常模式 可能有很多方法可以实现您想要的功能,但其中一种方法是使用CTRL-O切换到正常模式以插入行。

我想使用Shift+Enter之类的工具在Vim中创建一个新行

因此,如果光标是
|
,我想做以下几点:

<%= some.code("in here") | %>

现在,按Shift+Enter(或类似的键) 并将其作为输出:

<%= some.code("in here") %>
and my new line here |

我的新线在这里|
这可能吗?

切换到正常模式 可能有很多方法可以实现您想要的功能,但其中一种方法是使用CTRL-O切换到正常模式以插入行。例如,CTRL-O将在当前行下方打开新行,并将光标置于插入模式下

如果您想将其映射而不是一次性使用,可以使用imap来设置所选的助记符。例如:

:imap \nn <C-O>o
:imap\nn o
将为\nn创建一个插入模式映射,该映射将执行相同的操作。

我使用
imap o
在Ctrl+o上绑定新行


Shift+o
-打开上面的一行。

您是否也希望它缩进到光标所在的位置
|
,或者只打开一行和当前的自动缩进级别?尝试
imap n o
嘿@MichaelBerkowski,自动缩进就可以了。谢谢!行了。有没有办法把它映射到shift+enter?@DavidBecerra,据我所知还没有。有关该问题的答案,请参阅。在这种情况下,您将覆盖插入模式下的默认值,该模式在一个命令的正常模式下进入并切换回。对吗?