You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vim/gVim中手动查找含重复字符串的行?

在Vim/gVim中高亮connect后含重复字符串的行

临时高亮方案

  1. 开启搜索高亮:
    :set hlsearch
    
  2. 执行匹配搜索,直接高亮符合模式的内容:
    /connect \([^ \t]\+\) \1
    
    若要高亮整行,改用整行匹配的正则:
    /^.*connect \([^ \t]\+\) \1.*$
    

自定义整行高亮(更醒目)

  1. 创建自定义高亮组(可自行调整颜色):
    :hi DuplicateConnect ctermbg=yellow guibg=yellow
    
  2. 添加匹配规则,让符合条件的整行应用该高亮:
    :match DuplicateConnect /^.*connect \([^ \t]\+\) \1.*$/
    
  3. 取消高亮时执行:
    :match
    

永久生效配置

将以下内容添加到你的~/.vimrc(Linux/macOS)或_vimrc(Windows)文件中,每次打开Vim时自动高亮目标行:

hi DuplicateConnect ctermbg=yellow guibg=yellow
autocmd BufEnter * match DuplicateConnect /^.*connect \([^ \t]\+\) \1.*$/

正则说明

connect \([^ \t]\+\) \1 的含义:

  • connect :匹配关键字connect及后续空格
  • \([^ \t]\+\):捕获第一个非空白(空格/制表符)的字符串
  • \1:匹配空格加之前捕获到的完全相同的字符串

以你提供的示例文本为例:

1 connect ABC ABC
2 connect X YZ
3 connect 123 123

执行上述操作后,第1、3行会被高亮,因为它们的connect后存在重复字符串。

内容的提问来源于stack exchange,提问作者rawat89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:53:40