如何在 vim cscope 结果窗口中搜索

2023-12-10

当我们使用 cscope 去 vim 中定义一个符号时,结果窗口中可能会显示很多候选符号。我想在窗口内进行搜索以快速找到我需要的内容。但是搜索功能(/)在结果窗口中似乎不起作用,只有几个键可用,j,k,gg,G等。

无论如何可以在 cscope 结果窗口中搜索吗?或者有人可以分享一些关于如何在这种情况下更有效地工作的经验吗?

Thanks.


您可以使用以下内容:

" Filter the quickfix list
function! FilterQFList(type, action, pattern)
    " get current quickfix list
    let s:curList = getqflist()
    let s:newList = []
    for item in s:curList
        if a:type == 0     " filter on file names
            let s:cmpPat = bufname(item.bufnr)
        elseif a:type == 1 " filter by line content
            let s:cmpPat = item.text . item.pattern
        endif
        if item.valid
            if a:action < 0
                " Keep only nonmatching lines
                if s:cmpPat !~ a:pattern
                    let s:newList += [item]
                endif
            else
                " Keep only matching lines
                if s:cmpPat =~ a:pattern
                    let s:newList += [item]
                endif
            endif
        endif
    endfor
    call setqflist(s:newList)
endfunction

然后定义四个映射(将 ø 替换为适合您的内容,我的以 ð 开头,我认为您的键盘上可能不可用),分别映射到:

nnoremap ø :call FilterQFList(0, -1, inputdialog('Remove file names matching:', ''))<CR>
nnoremap ø :call FilterQFList(0, 1, inputdialog('Keep only file names matching:', ''))<CR>
nnoremap ø :call FilterQFList(1, -1, inputdialog('Remove all lines matching:', ''))<CR>
nnoremap ø :call FilterQFList(1, 1, inputdialog('Keep only lines matching:', ''))<CR>

这样您就可以使用任何模式过滤您的快速修复列表(您拥有 vim reg.exps 的强大功能)。使用:cnewer and :colder跳过以前的快速修复列表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 vim cscope 结果窗口中搜索 的相关文章

  • 有没有办法用 Vim 自动重新格式化大括号?

    我想重新格式化一些代码 如下所示 if cond foo to if cond foo 由于这是C代码 所以我一直在看cindent cinoptions与使用 但它似乎不处理多行规则 我一直在看formatoptions与使用gq 而且似
  • 当vim进入可视模式时运行命令

    我使用一个小脚本来触发插入模式以更改行号颜色 function CursorLineNrColorInsert mode Insert mode blue if a mode i highlight CursorLineNr ctermfg
  • Vimscript 检查当前缓冲区是否有未保存的更改

    我目前已设置状态行 使其在插入模式下为橙色 否则为白色 如果文件有任何未保存的更改 我想让它在我回到正常模式时变成另一种颜色 因为我经常在兔子洞里走一会儿 想知道为什么我的更改没有生效 小 还不够打我的脸 我找不到任何以 buf 开头且看起
  • vim - 如何删除 netrw?

    我正在测试https github com skwp dotfiles https github com skwp dotfiles 不幸的是它确实安装了很多我不想要的东西 例如 现在 使用空的 vimrc 当我打开 vim 时 我得到 N
  • vim 映射键不起作用

    我一直在尝试映射 ctrl 来在 vim 的插入模式下保存 它似乎永远不起作用 http vim wikia com wiki Map Ctrl S to save current or new files http vim wikia c
  • Vim errorformat:在消息字符串中包含部分表达式

    使用vim的errorformat语法 有没有办法使用部分消息来过滤结果 例如 除了错误本身之外 某些链接器错误没有任何明确的内容将它们区分为线路上的错误 path to foo cpp 42 undefined reference to
  • 将 vim 的 vertsplit 字符更改为 │

    我认为这与代码页相关 但询问也无妨 在 windows xp 的 cmd 上 gvim 7 2 如何更改 vertsplit 字符 而不是默认的 它是 因此它是一条完整的线 而不是一条分割线 该字符通常会更改为 set fillchars
  • Vim 函数插入带有传递参数的静态文本

    背景 I m interested in writing a function that assigned to keyboard shortcut s when invoked would 采取用户参数 计算值反映80 string le
  • 如何在VIM中设置文件的正确路径?

    每当我击中 pwd在 vim 中命令总是返回路径C Windows system32 即使我在桌面上的 Python 文件中 所以每当我跑步时 python 命令返回 python can t open file Users myname
  • vim 上有 cit、dit、yit(更改、删除、拉入标签内)...是否有类似坑(粘贴在标签内)之类的东西?

    使用 vim 我习惯了像这样的运动命令cit dit yit编辑 html xml 文件时 我喜欢 使用此命令后甚至更多 因为我只需按一下按键即可重复我所做的事情 我想知道是否有类似坑 粘贴在标签内 的东西已经可用 它会删除标签内并粘贴我想
  • 在 Vim 中,为什么用 'j' 表示向下,用 'k' 表示向上?

    我使用 Vim 已经很多年了 但从未真正考虑过它 我的一个朋友问这是为什么 他指出在我们的文化中 左键通常映射到上 而右键映射到下 使 Vim 键向后 我知道它们位于主排 这意味着您不必将手指移动到任何地方即可击中它们 但这完全是不同的点
  • 如何让 Vim 突出显示非 ascii 字符?

    我试图让 Vim 突出显示非 ASCII 字符 是否有可用的设置 正则表达式搜索模式或插件来执行此操作 在 a 中使用范围 搜索中的字符类 您应该能够excludeASCII 十六进制字符范围 因此突出显示 假设您有hlsearch启用 所
  • 如何在 Vimscript 中获取光标下的单词和当前行的文本?

    我正在写一个 Vim 脚本 如何获取光标下的单词和当前行的文本 你可以与expand https vimdoc sourceforge net htmldoc eval html expand and getline https vimdo
  • 在 (Mac)Vim 中查看 ri 时摆脱 ANSI 转义字符

    我在 gvim 和 MacVim 中查看 ri 文档时遇到问题 在两者上都尝试过 一些 ri 文档包含在终端窗口中查看时看起来不错的文本装饰 但在 gvim MacVim 中查看时包含 ANSI 转义字符 例如 以下 ri 片段来自 ri
  • VIM:我如何知道关键字使用了哪个突出显示规则?

    colorscheme default 文件类型是php 谁能帮我找出突出显示规则 hi light 将列出所有定义的规则并进行预览 您还可以查询单个项目 hi Keyword 手动查找任何语法组在光标下 有选择 我的是一个绑定到键的函数
  • 如何设置打开文件时默认展开?

    In my vimrc我已经把set foldmethod syntax启用方法折叠等 但是 我不喜欢每次打开文件时都会折叠整个文件的默认设置 有没有办法启用foldmethod 但是当我打开文件时文件是否展开了 set foldlevel
  • Linux/Ubuntu 目录位置 ~/.vim/syntax/

    文件夹的默认位置在哪里 vim syntax 在Linux系统上 我正在尝试添加一个 Python 插件 您正在寻找 runtimepath 选项 该文档非常详细 使用 help runtimepath 但我会尝试在这里总结一下 The 运
  • 在 Archlinux 上使用 Vim 作为 Haskell 的 IDE 目前情况如何?

    如果可行的话 我的目标是通过 YouCompleteMe 在 Vim 中完成 Haskell 的命令 在这方面 正如您在下面看到的 我还没有找到关于如何让它发挥作用的共识 相关评论的最新评论YouCompleteMe 上的问题 https
  • 在 vim 中执行 python 命令并获取输出

    当 Vim 编译时支持 Python 时 您可以使用 Python 编写 Vim 脚本 python命令 我将如何使用它来执行命令并将结果插入光标下 例如 如果我要执行 python import os os listdir aDirect
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的

随机推荐

  • 如何在一个集合视图源上逐个应用多个过滤器函数(AND 关系)

    我一直在使用绑定到列表视图的 Collection View Source 对象 而 CVS 是 Observable Collection 对象之上的视图 我知道如何使用以下技术应用过滤器 cvs Filter new FilterEve
  • std::string 相当于具有空字符的数据?

    我想读取一个二进制文件并使用类似的东西std string自动调整缓冲区大小等 我正在使用 Visual C 我有什么选择 The std string类已经处理带有嵌入 NUL 字符的数据 您遇到什么问题 请注意 当使用 c str 方法
  • dropna 后 Nans 未删除

    我有一个 400 x 25 的数据框 我应该从数据集中删除所有 Nans 然后从 25 列中仅选择 3 列进行处理 我已经使用以下方法完成了此操作 df1 dropna axis 0 df2 df1 loc bgr wc rc df2 rc
  • 有限制的 OWL 类型推断

    我正在使用 FaCT 和一个简单的本体研究 Protege 4 的 OWL 限制概念 假设我有一个人foo班级的Something Something a owl Class foo a Something owl NamedIndivid
  • SAPUI5 智能表:如何将我自己的列注入智能表、默认列、定义格式化程序和定义聚合列

    我正在使用智能表 我想了解以下有关此事的信息 如何使某些列默认可见 我们如何将自己的列注入到智能表中 比如我们想显示 基于性别 男性或女性 的图标 我们如何设置聚合列 例如名称 名字 姓氏 如何定义聚合列的排序和过滤 XML View
  • 从 gridview 中删除行

    我有 2 个表 MachineGroups 和 Machines MachineGroups 有列 MachinegroupID MachineGroupName MachineGroupDesc 机器有专栏 MachineGroupID
  • 如果特定命令失败,请勿中止脚本

    我正在运行我的脚本 bin bash eu 每当出现问题时 就会根据需要中止脚本 但有时我预计其中一个命令最终会失败 我想告诉bash忽略失败条件 在make您可以使用以下命令忽略一个命令的状态 command 有类似的东西吗bash 唯一
  • 如何将c/c++编译为ms-dos .com程序?

    我将 Code Blocks 与 GNU GCC 编译器一起使用 我的问题是 有没有办法将 c c 代码编译为 ms dos 16 位 com 可执行格式 我尝试设置构建选项并在网上搜索编译器参数 但我找不到任何东西 您当然可以将 C 和
  • 地理定位 SQL 查询未找到确切位置

    我已经测试我的地理位置查询一段时间了 直到现在我还没有发现任何问题 我试图搜索给定半径内的所有城市 通常我会使用该城市的坐标来搜索该城市周围的城市 但最近我尝试在一个城市周围搜索 发现城市本身没有返回 我的数据库中有这些城市的摘录 city
  • Java SQL 日期偏差 1 天

    我正在使用与我位于同一时区的 MySQL 服务器 我试图将 java util Date 插入数据库中的类型列DATE使用以下代码 SimpleDateFormat dateFormat new SimpleDateFormat yyyy
  • 使用鼠标在 python tkinter 画布上绘制并获取指向列表的点?

    我正在使用 tkinter 开发 Python 应用程序 我想要做的是在画布坐标上绘制 并将点记录到列表中 以便稍后进行计算 如果不可能 您会推荐任何其他可以做到这一点的工具或 GUI 平台吗 编辑 到目前为止 我拥有的是一个可以从列表中获
  • 从角色授权更改为声明授权

    我有一个使用 ASP NET 会员资格构建的 Web 表单应用程序 我成功迁移到身份 我现在想使用Claims授权而不是Roles授权 但是老用户的Role信息已经迁移到了AspNetUserRoles数据库中的表 但AspNetUserC
  • 在服务器上找不到路径错误的一部分

    我想每天运行一个调度程序 所以我创建了一个Windows application并将其存储到服务器上 这在我的本地计算机上工作正常 但我收到路径错误 找不到路径的一部分 C Windows System32 有了这个 我认为可能存在一些与路
  • @Autowired 与 JUnit 测试

    我使用了 JUnit 但有些测试存在一些问题 这些测试在 Spring bean 内有 Autowired 注释 当我引用它们时 Autowired 的 bean 始终为 NULL 这是示例代码 public class Test prot
  • 如何将矩阵的索引映射到一维数组(C++)?

    我有一个 8x8 矩阵 如下所示 char matrix 8 8 另外 我有一个包含 64 个元素的数组 如下所示 char array 64 然后我将矩阵绘制为表格 并用数字填充单元格 每个数字从左到右 从上到下递增 例如 如果我在矩阵中
  • StackOverflow 对标签弹出窗口使用什么类型的动画? [关闭]

    Closed 这个问题是无关 目前不接受答案 有谁知道 Stackoverflow 的标签弹出窗口使用什么类型的 jQuery 动画 我所说的标签弹出窗口是指当您将鼠标悬停在 Stackoveflow 中的标签上时 会出现一个弹出窗口 动画
  • 将列号转换为字母的函数?

    有谁有可以从数字返回列字母的 Excel VBA 函数吗 例如 输入100应该返回CV 此函数返回给定列号的列字母 Function Col Letter lngCol As Long As String Dim vArr vArr Spl
  • Google Sheets:自定义函数中的日期格式

    我在谷歌表格中有以下自定义函数 我尝试在自定义函数中调用内置函数 TEXT 但没有成功 Google表格会提示 未知 功能 TEXT 有解决办法吗 function NextMonth StockTradeDate var DeltaDat
  • 通用应用程序 Windows Phone 方向

    最近 我正在为 Windows Phone 和 Windows Store 开发一个通用应用程序 在该应用程序中 我试图将应用程序的方向修复为横向 但在 Windows Phone 8 1 的基于 WinRT 的应用程序中 我找不到任何方向
  • 如何在 vim cscope 结果窗口中搜索

    当我们使用 cscope 去 vim 中定义一个符号时 结果窗口中可能会显示很多候选符号 我想在窗口内进行搜索以快速找到我需要的内容 但是搜索功能 在结果窗口中似乎不起作用 只有几个键可用 j k gg G等 无论如何可以在 cscope