vim - 如何通过 y/c/d 命令使用 vim easy motion 插件运动?

标签 vim plugins

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

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

这是一些线。

假设我正在 vim 中处理上述行,光标位于“This”中的 i 处。如果我在 vim 中执行“yfs”,我想要简单的 Action 来标记光标右侧的三个“s”。这样,我就可以轻松地抽出/更改/删除到我想要的 s。

提前致谢!

最佳答案

你可以,在你的 .vimrc 中使用这样的东西:

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

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

如果这不起作用

这意味着还有其他键绑定(bind)正在使用相同的组合。您可以使用 :map 进行检查然后寻找您要映射到 easy-motion 的组合键。从您的 .vimrc 中删除该键绑定(bind)或删除创建绑定(bind)的插件应该可以解决问题。

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

let g:yankring_zap_keys = ''

关于vim - 如何通过 y/c/d 命令使用 vim easy motion 插件运动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086636/

相关文章:

sqlite - 修复 Unicode 字节序列

vim - 删除 vim 中的 netrw s-up 和 s-down 映射

jquery - Noty jQuery 插件确认按钮

android - 以编程方式单击主页按钮并在 flutter 中关闭屏幕

c# - 即使 c++ dll/native 插件中有 exit(1),如何保留我的 unity3d 程序 (c# v3.5)?

authentication - Vundle不对github进行身份验证

vim - 如何匹配带****下划线的行

vim - 什么是 $VIM,我在哪里可以找到它?

java - Maven 和 java 插件框架

android - 适用于 Android 的 Phonegap 插件无法正常工作。为什么?