如何使用 vim Easy Motion 插件通过 y/c/d 命令进行运动?

Sub*_*ray 3 vim plugins

我在 vim 中使用 easymotion 插件(https://github.com/easymotion/vim-easymotion)。如果您在 VIM 中使用 f/F 动作(带有 easymotion 插件),当有多个匹配项时,easymotion 会突出显示所有可能的位置,这样您就可以轻松跳转到您想要的位置。

但它不适用于 y/c/d 命令,我该如何实现呢?我在下面提供了一个示例来进行说明:

This is some line.

假设我正在 vim 中处理上面的行,并且光标位于“This”中的 i 处。如果我在 vim 中执行“yfs”,我想要简单的动作来标记光标右侧的三个“s”。这样,我可以轻松地拉动/更改/删除我想要的内容。

提前致谢 !

San*_*ove 6

您可以在 .vimrc 中使用类似的内容:

" Find next occurence of a char using easymotion
map  <Leader>f <Plug>(easymotion-bd-f)
nmap <Leader>f <Plug>(easymotion-overwin-f)
Run Code Online (Sandbox Code Playgroud)

现在您可以执行类似的操作y<Leader>fs,它将突出显示三个 s 字符。选择一个将从光标位置拉到该字符。

如果这不起作用

这意味着还有其他键绑定使用相同的组合。您可以检查这一点:map,然后查找您尝试映射到轻松动作的组合键。从您的键盘中删除该键绑定.vimrc或删除创建该绑定的插件应该可以解决问题。

如果是 YankRing 插件劫持了 y/c/d 击键,您可以将以下内容添加到您的 vimrc 中以防止它这样做(查看:h yankring更多信息):

let g:yankring_zap_keys = ''
Run Code Online (Sandbox Code Playgroud)