我经常在Vim中使用Quickfix视图,其中的文本总是有一个前缀||。因此,例如,当我复制/粘贴到缓冲区外时,我会默认包含这些字符。有没有办法禁用这个?我还没有运气找到任何文档或配置这个...
||
whlutmcx1#
Quickfix缓冲区被用来解析特殊格式的字符串(如编译器消息)。这是在:h 'errorformat'选项的帮助下完成的。那些“条”是“文件名”、“行号”和“消息正文”之间的输出分隔符。如果你在一行的开头只有“双条”,那么你要么是errorformat设置错误,要么是你误用了快速修复缓冲区。如果你感兴趣的话,“Bars”在Vim的源代码(src/quickfix. c)中是硬编码的:
:h 'errorformat'
errorformat
static int qf_buf_add_line(buf_T *buf, linenr_T lnum, qfline_T *qfp, char_u *dirname) { ... if (qfp->qf_module != NULL) ... if (len < IOSIZE - 1) IObuff[len++] = '|'; if (qfp->qf_lnum > 0) ... if (len < IOSIZE - 2) { IObuff[len++] = '|'; IObuff[len++] = ' '; } ... }
kh212irz2#
现在可以自定义快速修复窗口的显示。Vim引入了快速修复文本函数(:h qftf)。它允许完全自定义快速修复窗口的渲染。文档中包含了一个示例,你也可以在nvim-bqf README中看到一个示例,尽管它是基于neovim/lua的。您可以在:h quickfix-window-function中的vim文档中看到一个示例。要实现一个通用的qftf(而不是像vim文档中那样是一个特定的qftf),您应该以类似于nvim-bqf自述文件的方式开始,也就是说,检查info参数quickfix字段是否为1,您应该显示getqflist中的项,否则显示getloclist中的项
:h qftf
:h quickfix-window-function
quickfix
getqflist
getloclist
2条答案
按热度按时间whlutmcx1#
Quickfix缓冲区被用来解析特殊格式的字符串(如编译器消息)。这是在
:h 'errorformat'
选项的帮助下完成的。那些“条”是“文件名”、“行号”和“消息正文”之间的输出分隔符。如果你在一行的开头只有“双条”,那么你要么是
errorformat
设置错误,要么是你误用了快速修复缓冲区。如果你感兴趣的话,“Bars”在Vim的源代码(src/quickfix. c)中是硬编码的:
kh212irz2#
现在可以自定义快速修复窗口的显示。
Vim引入了快速修复文本函数(
:h qftf
)。它允许完全自定义快速修复窗口的渲染。文档中包含了一个示例,你也可以在nvim-bqf README中看到一个示例,尽管它是基于neovim/lua的。
您可以在
:h quickfix-window-function
中的vim文档中看到一个示例。要实现一个通用的qftf(而不是像vim文档中那样是一个特定的qftf),您应该以类似于nvim-bqf自述文件的方式开始,也就是说,检查info参数
quickfix
字段是否为1,您应该显示getqflist
中的项,否则显示getloclist
中的项