Vim EasyMotion:移动后插入模式?

问题描述:

我已经重新映射的EasyMotion命令,,w,,b下列要求:Vim EasyMotion:移动后插入模式?

imap ,w <ESC><leader><leader>w

imap ,b <ESC><leader><leader>b

这样我可以在插入模式下使用的EasyMotion和快速导航无需进入正常模式。

虽然,移动后,Vim保持正常模式(自然)。我如何指定在EasyMotion的 工作后,Vim应该进入插入模式,以便继续打字而不拖延?

Thanx!

+0

在映射为您工作后不会追加'a'(或'i')吗? – 2014-09-25 09:28:48

+0

不是。当我按',w'时,EasyMotion被应用(这是映射的目的),但是在移动后(通过EasyMotion),我导致正常模式。我想我必须操纵EasyMotion本身,但不知道如何。 – 2014-09-25 09:39:31

+0

刚想到:也许使用'i_CTRL-o'(执行一个命令,返回插入模式)可能会有所帮助。尽管我不确定这是否是正确的方式,但是使用':inoremap ,,::正常! fs '你可以在插入模式下通过按',,'将光标移动到最近的's'(我不熟悉easymotion,所以我用'f'替换了这个动作)。 – Yosh 2014-09-25 10:53:49

您可以使用<C-o>从插入模式执行一个正常模式命令。执行此命令后,将返回到插入模式:

imap ,w <C-o><leader><leader>w 
imap ,b <C-o><leader><leader>b 
+0

根据不同的应用,可能还需要增加' u'来分解撤消模块。例如'imap,w u w'。有关信息,请参阅':h撤销块“和”:h i_ctrl-g_u'。 – 2014-09-25 14:12:25

+0

工作正常!谢谢! – 2014-09-25 14:24:37