从Vim中的用户定义命令切换到** insert **模式

时间:2017-01-23 11:24:34

标签: vim

我在我的vimrc中定义了自己的命令:

command! Tcs :normal lvf`hc

目标是我继续进行反击,它会将内部内容从此处删除到下一个反引号。像:

`hi there` -> ``

问题是仍然处于正常模式,我想复制c命令行为,以便我可以立即开始以插入模式键入。

我已经尝试了command! Tcs :normal lvf`hc :startinsert但是我在最后c之后输入的内容将直接在编辑器中输入。

由于

1 个答案:

答案 0 :(得分:1)

来自:help :normal >

        :norm[al][!] {commands}                   *:norm* *:normal*
        (...)
        {commands} should be a complete command.  If
        {commands} does not finish a command, the last one
        will be aborted as if <Esc> or <C-C> was typed.             
     

<强> This implies that an insert command must be completed

       (...)

在您的情况下,命令normal已中止,这就是您仍处于正常模式的原因。您仍然可以尝试:normal! i

要获得你想要的东西,你可以做:

command! Tcs execute "normal lvf`hd" | :startinsert