加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何格式化vim quickfix条目?

发布时间:2020-12-16 01:27:35 所属栏目:安全 来源:网络整理
导读:这是生成Markdown大纲的 vim脚本: fun! TOC() call setloclist(0,[]) let save_cursor = getpos(".") call cursor(1,1) while search("^#",'W') 0 let msg = printf('%s:%d:%s',expand('%'),line('.'),substitute(getline('.'),'#','?','g')) laddexpr msg
这是生成Markdown大纲的 vim脚本:
fun! TOC()
    call setloclist(0,[])
    let save_cursor = getpos(".")
    call cursor(1,1)
    while search("^#",'W') > 0
       let msg = printf('%s:%d:%s',expand('%'),line('.'),substitute(getline('.'),'#','?','g'))
       laddexpr msg
    endwhile
    call setpos('.',save_cursor)
endfun

com! -bar TOC call TOC()

示例降价文件:https://github.com/progit/progit/raw/master/zh/01-introduction/01-chapter1.markdown

运行后:TOC命令,这是快速列表:

01-chapter1.markdown|5| ?? 关于版本控制 ??
01-chapter1.markdown|11| ??? 本地版本控制系统 ???
01-chapter1.markdown|22| ??? 集中化的版本控制系统 ???
01-chapter1.markdown|33| ??? 分布式版本控制系统 ???
01-chapter1.markdown|42| ?? Git 简史 ??
01-chapter1.markdown|56| ?? Git 基础 ??
01-chapter1.markdown|60| ??? 直接记录快照,而非差异比较 ???
01-chapter1.markdown|74| ??? 近乎所有操作都是本地执行 ???
01-chapter1.markdown|82| ??? 时刻保持数据完整性 ???
01-chapter1.markdown|92| ??? 多数操作仅添加数据 ???
01-chapter1.markdown|98| ??? 文件的三种状态 ???
01-chapter1.markdown|121| ?? 安装 Git ??
01-chapter1.markdown|125| ??? 从源代码安装 ???
01-chapter1.markdown|152| ??? 在 Linux 上安装 ???
01-chapter1.markdown|162| ??? 在 Mac 上安装 ???
01-chapter1.markdown|177| ??? 在 Windows 上安装 ???
01-chapter1.markdown|185| ?? 初次运行 Git 前的配置 ??
01-chapter1.markdown|197| ??? 用户信息 ???
01-chapter1.markdown|206| ??? 文本编辑器 ???
01-chapter1.markdown|212| ??? 差异分析工具 ???
01-chapter1.markdown|220| ??? 查看配置信息 ???
01-chapter1.markdown|240| ?? 获取帮助 ??
01-chapter1.markdown|254| ?? 小结 ??

我想将快速修复条目格式化为:

|005| ?? 关于版本控制 ??
|011| ??? 本地版本控制系统 ???
|022| ??? 集中化的版本控制系统 ???
|033| ??? 分布式版本控制系统 ???
|042| ?? Git 简史 ??
|056| ?? Git 基础 ??
|060| ??? 直接记录快照,而非差异比较 ???
|074| ??? 近乎所有操作都是本地执行 ???
|082| ??? 时刻保持数据完整性 ???
|092| ??? 多数操作仅添加数据 ???
|098| ??? 文件的三种状态 ???
|121| ?? 安装 Git ??
|125| ??? 从源代码安装 ???
|152| ??? 在 Linux 上安装 ???
|162| ??? 在 Mac 上安装 ???
|177| ??? 在 Windows 上安装 ???
|185| ?? 初次运行 Git 前的配置 ??
|197| ??? 用户信息 ???
|206| ??? 文本编辑器 ???
|212| ??? 差异分析工具 ???
|220| ??? 查看配置信息 ???
|240| ?? 获取帮助 ??
|254| ?? 小结 ??

我找不到任何选择.如果你知道,请告诉我.谢谢!

无法配置quickfix位置的显示方式.它是
只能指定如何使用errorformat选项解释它们.
但是,可以使用隐藏功能隐藏quickfix中的文件名
位置列表窗口.

以下命令启用隐藏和定义与任何匹配的语法规则
第一个|之前的行开头的文本字符.

set conceallevel=2 concealcursor=nc
syntax match qfFileName /^[^|]*/ transparent conceal

可以为每个quickfix或位置列表窗口触发这些命令
使用自动命令.然而,从大多数情况来看,这并不是一个好主意
显示文件名的案例是一个有用的功能.所以,在提出的情况下
问题是,最好只针对新的定制
收集的位置列表.它需要先打开位置列表窗口,
虽然.

lopen
set conceallevel=2 concealcursor=nc
syntax match qfFileName /^[^|]*/ transparent conceal

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读