我想模仿游戏Vim Adventure中发现的一个很好的效果: 当一个猛拉命令完成后,我希望猛拉的区域高亮(让我们说红色)一秒钟,以告诉我我的选择是正确的。
例如, yy 会以红色突出显示当前行一秒,然后我会知道选择了什么。
答案 0 :(得分:2)
一个vimmer(不是我)看到了这个问题,并为此编写了一个插件。请注意,这不是一个简单的解决方案,可能不适合那些喜欢保持vim最小的人,但它的作用就像一个魅力。还要注意,这并不是一项严肃的工作,因此你不一定能寻求稳定的支持。
使用您首选的方式安装这些插件。
假设您想使用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
设置为较小的值。
答案 1 :(得分:1)
有一个插件vim-highlightedyank,可用于vim和Neovim。安装它就可以了。您还可以通过添加以下配置来设置突出显示持续时间:
" set highlight to 1000 ms
let g:highlightedyank_highlight_duration = 1000
如果您正在使用Neovim的latest version。他们已经在this pull request中内置了这个小功能。
安装最新版本的Neovim并将以下配置添加到您的init.vim
:
augroup highlight_yank
autocmd!
au TextYankPost * silent! lua vim.highlight.on_yank{higroup="IncSearch", timeout=700}
augroup END
答案 2 :(得分:0)
只是做一个谷歌搜索,我用的插件 markonm称为hlyank.vim 我确实打开了插件并更改了时间,因为它仅使屏幕上的颜色闪烁,因此将其从200更改为800 因此,在autoload文件夹中打开hlyank.vim并更改
call timer_start(800, {-> matchdelete(id, winid)})
其他 致电timer_start(800,{-> matchdelete(id)})