vim - 突出显示 vim 上的复制区域

标签 vim yank

我想模仿在 Vim Adventure 游戏中发现的一个不错的效果:
执行 yank 命令后,我希望将 yank 区域高亮显示(假设为红色)一秒钟,以向我表明我的选择是正确的。

例如, 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到一个较小的值。

    关于vim - 突出显示 vim 上的复制区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26069278/

    相关文章:

    vim - 将带有行号的文件路径从 vim 复制到系统剪贴板

    reactjs - 任何 VIM 插件都可以帮助我重构 React 组件吗?

    vim - 如何在多行代码中插入多行代码?

    vim - 如何在 Vim 中的括号(或引号或...)之间进行选择?

    yank - 如何在 Kakoune 中拉到系统剪贴板?

    vim - 通过Vim中的 ':'将行范围拉到剪贴板

    macos - 如何在 OS X 上升级 *console* 版本的 vim?

    vim - 为什么 vim 选择 vimrc_example.vim 和 _vimrc?

    vim - 在 Vim 命令行模式下重新映射 Esc