2014-09-25 60 views
1

我已經重新映射的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

回答

2

您可以使用<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