开发者

VIM: exit insert mode with :normal command

When I go into insert mode with the :normal command (:normal i) for example, how do I exit insert mode?

If I press <Esc>, or <c-c>, or <c-[>, VIM exits command mode and I can't run my :normal开发者_运维问答 command.

I put imap <c-e> <Esc> in my .vimrc but when I type <c-e> in command mode, nothing gets inserted. I can't figure out how to enter a "control e" in command mode.

<c-o> works, for example :normal Ihello<c-o>Aworld but sometimes I want to do more than one command in normal mode.

I know I can use a macro, but I want to know how to do it with :normal.


To add a literal <ESC> to your command, while in insert mode, press CTRL+V then <ESC>.

See :help i_CTRL-V.


The maintainable solution would be:

exe "normal! Ihello\<c-o>Aaworld\<esc>"

... :h :normal


:imap will not trigger in command mode. Use :cmap or better, :cnoremap.

And as too much php said, CTRL-V makes it possible to insert raw characters in insert mode or command line editing.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜