如何映射插入中的返回以进入正常模式然后执行o操作

时间:2016-10-24 20:45:30

标签: vim

我目前正在使用vim,我想映射Return键(我在Mac上。我相信这通常由地图中的<ENTER>表示)以保留插入模式,然后执行o行动。imap <ENTER> <ESC>o 我试图把这样的东西放在

Phone13 myPhone = null

然而,这并未执行所需的操作。任何帮助都会很棒。

编辑:所需的操作是,如果我在插入模式下输入,则每个新行都是新操作。因此,如果我在正常模式下按下撤消,它只会撤消最后一行,而不是在插入模式下键入的所有行。

1 个答案:

答案 0 :(得分:2)

我不确定为什么这不起作用。我不知道为什么转义并使用o打开换行符不会添加到更改列表中。但是,幸运的是,我们有一个命令可以将文本的当前状态显式添加到更改列表中。该命令是(在插入模式下)<C-g>u。来自:h i_ctrl-g_u

CTRL-G u    break undo sequence, start new change        *i_CTRL-G_u*

方便的是,这个命令甚至不会离开插入模式!总而言之,您正在寻找的映射是:

:inoremap <cr> <C-g>u<cr>

或者,您也可以

:inoremap <cr> <cr><C-g>u

在撤消后会留下一个空行。