我在 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/