是否可以在Vim中突出显示#DEFINE语句。Vim确实能够正确地为#if 0着色,但不能为更复杂的表达式着色。x1c 0d1x的数据有没有办法修复第二个的颜色?我正在处理一个有很多定义的代码库,如果没有正确的突出显示,真的很难阅读。谢谢!
#if 0
cygmwpex1#
在vim.org上发布的第一个Vim插件之一是ifdef plugin。它为#ifdef #ifndef #else #endif块(但不是#if defined())提供高亮显示,并能够将符号标记为已定义或未定义。
#ifdef #ifndef #else #endif
#if defined()
7rtdyuoh2#
您可以使用highlight命令覆盖颜色。创建文件~/.vim/after/syntax/c.vim并添加以下行:
highlight
~/.vim/after/syntax/c.vim
highlight cDefine ctermfg=4 cterm=bold
字符串它会将define指令设置为粗体浅蓝色。此外,这可以帮助您选择颜色:https://github.com/guns/xterm-color-table.vim
define
kcwpcxri3#
我找到了一个适合我的解决方案。它不使用注解颜色进行颜色编码,但它隐藏了它。如果我将光标放在AAA上,在#ifdef AAA行中键入[i,Vim就可以向我显示AAA的定义。然后我查看定义,并决定是否应该显示此代码块,并使用zf%折叠它(如果折叠,则为zf,而%指定折叠直到块的末尾)
#ifdef AAA
[i
zf%
zf
%
kyvafyod4#
您可以使用LSP。参见this discussion on GitHub。
4条答案
按热度按时间cygmwpex1#
在vim.org上发布的第一个Vim插件之一是ifdef plugin。
它为
#ifdef #ifndef #else #endif
块(但不是#if defined()
)提供高亮显示,并能够将符号标记为已定义或未定义。7rtdyuoh2#
您可以使用
highlight
命令覆盖颜色。创建文件~/.vim/after/syntax/c.vim
并添加以下行:字符串
它会将
define
指令设置为粗体浅蓝色。此外,这可以帮助您选择颜色:https://github.com/guns/xterm-color-table.vim
kcwpcxri3#
我找到了一个适合我的解决方案。它不使用注解颜色进行颜色编码,但它隐藏了它。如果我将光标放在AAA上,在
#ifdef AAA
行中键入[i
,Vim就可以向我显示AAA的定义。然后我查看定义,并决定是否应该显示此代码块,并使用zf%
折叠它(如果折叠,则为zf
,而%
指定折叠直到块的末尾)kyvafyod4#
您可以使用LSP。参见this discussion on GitHub。