使用:normal命令退出VIM插入模式

17

当我使用 :normal 命令进入插入模式时 (:normal i),如何退出插入模式?

如果我按下 <Esc>, 或者 <c-c>, 或者 <c-[>,VIM就会退出命令模式,我就不能运行我的 :normal 命令。

我在我的 .vimrc 文件中加入了 imap <c-e> <Esc>,但是当我在命令模式下输入 <c-e> 时,没有任何字符被插入。我不知道如何在命令模式下输入 "control e"。

<c-o> 可以工作,例如 :normal Ihello<c-o>Aworld,但有时我想在普通模式下执行多个命令。

我知道我可以使用宏,但我想知道如何使用 :normal 命令来完成这个任务。

3个回答

23

在插入模式下,如果你想要在你的命令中添加字面上的<ESC>,请按CTRL+V,然后再按<ESC>

请参见:help i_CTRL-V


6
可维护的解决方案是:
exe "normal! Ihello\<c-o>Aaworld\<esc>"

... :h :normal


0

:imap在命令模式下不起作用。使用:cmap或更好的是:cnoremap

正如太多的php所说,CTRL-V使得在插入模式或命令行编辑中插入原始字符成为可能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接