【发布时间】:2026-02-24 06:30:02
【问题描述】:
在 Vim 中使用 :make 命令构建我的应用程序时,输出没有着色。我已将 makefile 配置为使用 clang 作为 C 编译器,并且当在 Vim 之外运行 make 或运行 :!make 时,clang 的输出是彩色的。 :set makeprg返回makeprg=make,仅供参考。
grep 也有同样的问题:运行:grep 时,输出未着色;运行:!grep 时,它是。我曾尝试将--color 选项与:grep 一起使用,但无济于事。 :set grepprg 返回grepprg=grep -n $* /dev/null。
我已经阅读了VIM Unix commands printed in color 和How to color my vimgrep result patterns。前者似乎有相反的问题(即:!command 输出未着色);后者除了下降到 shell 之外别无选择,我认为这不是解决问题的“正确”方法。
【问题讨论】:
-
将
--color添加到grepprg会破坏:grep,在这里,我不确定如何安全地将其包含在参数中。在 CLI Vim 中,:!grep foo *和:grep foo *“下拉到 shell”。你对:make做了什么? -
:!grep foo *有彩色输出吗?据我所见,没有为clang输出着色的选项,我计划在今天晚些时候通过将colorgcc 设置为我的makeprg来进行一些测试,所以我将添加评论结果。我确实尝试将makeprg设置为echo\ -e\ \"\\033[32m\ Hello\ World\"以查看它是否会被着色,它是/was/,这很有趣。