高亮复制区域在vim上

我想模仿游戏Vim Adventure中发现的一个很好的效果:

当一个猛拉命令完成后,我希望猛拉的区域高亮(让我们说是红色)一秒钟,以告诉我我的选择是正确的.

例如,yy会将当前行以红色突出显示一秒钟,然后我会知道选择了什么.

最佳答案 一个
vimmer(不是我)看到了这个问题,并为此编写了一个插件.请注意,这不是一个简单的解决方案,可能不适合那些喜欢保持vim最小的人,但它的作用就像一个魅力.另请注意,这并不是一项严肃的工作,因此您不一定能寻求稳定的支持.

要安装的插件

> kana/vim-operator-user:让用户定义自己的运算符.
> thinca/vim-operator-sequence:“操作符要做两个或更多操作符.”
> osyo-manga/vim-operator-highlight:这个插件.

使用您首选的方式安装这些插件.

设置

假设您想使用Meta y来“猛拉并突出显示”.在.vimrc中写下以下设置.

noremap <expr> <Plug>(yank-highlight) operator#sequence#map("y", "\<Plug>(operator-highlight)")
nmap <A-y> <Plug>(yank-highlight)
vmap <A-y> <Plug>(yank-highlight)

改变< A-y>对于你想要使用的任何键映射(只是y可能不起作用):< Leader> y可能很好,例如.

突出显示可以自动清除.写下面的内容:

let g:operator#highlight#clear_time=2.0

这将在大约2秒内清除突出显示.间隔还取决于:set updatetime ?,默认为4000(ms),因此如果这似乎没有清除突出显示,请尝试将updatetime设置为较小的值.

点赞