【问题标题】:How to write a quickfix list to a file如何将快速修复列表写入文件
【发布时间】:2021-05-03 22:57:34
【问题描述】:

我正在寻找一种将快速修复窗口的内容写入具有特定格式的文件的方法,最好是以易于编写脚本的方式。

我想要实现的是 Vim 和 ipdb 的非常轻量级的集成:

  1. 我将“断点”设置为带有映射的快速修复列表中的项目: nmap <leader>s :call setqflist([], 'a', {'items': [{'filename': @%, 'lnum':line('.'), 'text':'break'}]})
  2. 使用break file_path:line_number 格式将快速修复的内容写入.pdbrc 文件
  3. 在指定脚本上运行 ipdb

【问题讨论】:

  • 我刚查过,你绝对可以使用:w保存quickfix内容。
  • 是的,我知道,但是如果 quickfix 窗口当前没有打开怎么办?这不符合我的格式要求
  • 大概,您将编写一个自动执行所有这些操作的 vim 函数。因此,在该函数中,完成格式化后,您可以进行一组快速调用(:copen:w save_file:q)来打开 quickfix、保存到文件并关闭它。这就解决了一个问题。另一个是格式,希望 romainl 的答案可以帮助您解决。

标签: vim ipdb


【解决方案1】:

你有两个问题:

  1. items 转换为格式正确的行列表。

    您需要:

    • 使用:help getqflist() 获取快速修复列表,
    • :help map()格式化列表中的每一项,
    • 从带有:help bufname() 和可能的:help fnamemodify()bufnr 字段导出file_path
  2. 将该列表写入给定文件。

    你需要:help writefile()

【讨论】:

    猜你喜欢
    • 2015-01-27
    • 2021-03-23
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    相关资源
    最近更新 更多