VIM在命令行中设置光标位置

J. *_* C. 3 vim cursor

我想在Vim中进行以下操作:

我在.vimrc文件中有这个重映射

:noremap <C-r> :Ack!  /home/user/somefolder/
Run Code Online (Sandbox Code Playgroud)

这样我就可以在预定义的路径(某些文件夹)中搜索Ack,但是当我用它<C-r>来触发它时,光标停留在路径的末尾,所以我必须使用箭头返回到之后Ack!因为Ack!期望路径前的搜索词.

无论如何我可以配置这个重映射将光标放在路径之前吗?所以我可以触发<C-r>并立即开始编写搜索词.

非常感谢任何帮助.

Ing*_*kat 9

这很简单:

:noremap <C-r> :Ack!  /home/user/somefolder/<C-Left><Left>
Run Code Online (Sandbox Code Playgroud)

就像大多数命令行映射都以a <CR>来触发命令一样,您也可以使用光标移动(这在插入模式映射和缩写中也很方便).