如果是“.log”文件,想要使文件中包含关键字“dog”的每一行都为红色,并使文件中包含关键字“cat”的每一行都为黄色。当我在vim中打开“.log”文件时,这应该自动完成。有没有办法做到这一点?
答案 0 :(得分:3)
首先,将颜色定义为突出显示组:
:hi Dogs ctermbg=red guibg=red
:hi Cats ctermbg=yellow guibg=yellow
您可以通过:match
命令或matchadd()
功能添加(窗口本地)突出显示。通过匹配包含关键字的整行,您将全部突出显示。 :autocmd
为您的日志文件安装(虽然我更喜欢使用Vim的文件类型检测而不是硬编码文件模式)。
:autocmd BufWinEnter *.log call matchadd('Dogs', '^.*dog.*$') | call matchadd('Cats', '^.*cat.*$')
:match
的好处是不会干扰语法突出显示(这可能是另一种选择)。缺点是当您在同一窗口中查看非日志缓冲区时,突出显示将持续存在。 (您可以通过添加更多autocmds来解决此问题,但这并非易事。)