调整语法检查器 shellcheck 的突出显示颜色(带有合成和病原体)

Posted

技术标签:

【中文标题】调整语法检查器 shellcheck 的突出显示颜色(带有合成和病原体)【英文标题】:Tweaking syntax checker shellcheck's highlight colors (with syntastic and pathogen) 【发布时间】:2015-11-09 07:25:44 【问题描述】:

对我来说,shellcheck 的突出显示颜色和消息区域(其中语法被标记为可疑并显示警告)都是错误的。

是否可以修改shellcheck 使用的状态行主窗口突出显示颜色?

我对此进行了调查,因为我在 ~/.vimrc 中有 syntax on。我想我的主窗口的高亮配色方案是 vim 的默认设置,而不是 syntax enable,它应该允许用户随后定义高亮配色方案。

再挖一点,我发现自从syntastic的安装,我在~/.vimrc的状态行有以下内容:

" General status line option unchanged (vim window and multiple buffer window) - already there before Syntastic

set statusline=%<\ %n\ %f\ %m%r%h\ %y%h%=\ Line:\ \%l/\%L\ (\%p%%)\ Column:\ \%c\


" Syntastic options (new)

" Set highlight group 'warningmsg' <= defined where?
set statusline+=%#warningmsg#
" No clue what function SyntasticStatuslineFlag() to evaluate is or does...
set statusline+=%SyntasticStatuslineFlag()
" Restore normal highlight mode or scheme
set statusline+=%*

我不打算完全重新审视warningmsg 高色彩方案。相反,我想修改一些用于语法检查的颜色规则,这样当我在 bash 或 C 或 Python 或其他语言中遇到语法检查器时,我的终端窗口就不会打我的脸。

我可以在终端的vim窗口中修改syntastic的消息显示区域的高度吗?它发现它太大了。理想情况下,我希望能够直接从我的 vim 会话中修改它以使其适应环境。如果不可能的话,只是永久地刮掉几行就很好了。

【问题讨论】:

您因发布另一个问题而赢得了我的反对,该问题在手册中进行了解释。从好的方面来说,你不能通过这种方式得到负数。 @lcd047:很好,你解释了你的反对意见。如果我没有看手册,那只是因为我不知道在哪里看,我也无法想象:help syntastic-highlighting之类的东西。我正在学习……与 vim 的脚本环境、插件等有关的所有内容的学习曲线从我的立场来看似乎很陡峭。 那或许你应该先了解一下基础知识? 【参考方案1】:

是否可以修改shellcheck 使用的状态行主窗口突出显示颜色?

Shellcheck 不会突出显示任何内容。它不知道也不关心 Vim 或突出显示。突出显示的那个是合成的。它通过使用默认链接到一些标准组的突出显示组来做到这一点。您可以重新定义与这些组对应的颜色。见:help syntastic-highlighting

突出显示状态行是可能的,但不是微不足道的。它与句法无关。

" No clue what function SyntasticStatuslineFlag() to evaluate is or does...

:help syntastic-statusline-flag, :help 'syntastic_stl_format'

我可以在终端的vim窗口中修改syntastic的消息显示区域的高度吗?

:help 'syntastic_loc_list_height'

【讨论】:

+1 指向正确的 vim 帮助部分的指针。从现在开始,我将系统地审查这一点。

以上是关于调整语法检查器 shellcheck 的突出显示颜色(带有合成和病原体)的主要内容,如果未能解决你的问题,请参考以下文章

推荐一个shell语法在线检查网站,也可以学习shell语法

带有父选择器的 BEM 嵌套 SCSS 会破坏 Sublime Text 语法突出显示?

XCode 语法在预处理器 #if #else 的两种情况下突出显示

Angular 材质:突出显示周末的日期选择器

Jekyll - 如何更改突出显示字体系列的 pygments 语法?

vscode打造shell IDE--三大神器