VIM突出显示IFDEF和IF语句
可以在VIM中突出显示#DEFINE语句吗 VIM确实能够正确地为VIM突出显示IFDEF和IF语句,vim,Vim,可以在VIM中突出显示#DEFINE语句吗 VIM确实能够正确地为#if 0着色,但不能为更复杂的表达式着色。下面是它的样子: 有没有办法确定第二个的颜色?我正在编写一个定义了大量代码的代码库,如果没有正确的突出显示,就很难阅读。 谢谢 您可以使用高亮显示命令覆盖颜色。创建文件~/.vim/after/syntax/c.vim,并添加以下行: highlight cDefine ctermfg=4 cterm=bold 它将以粗体浅蓝色设置定义指令 此外,这可以帮助您选择颜色:我找到了一个适
#if 0
着色,但不能为更复杂的表达式着色。下面是它的样子:
有没有办法确定第二个的颜色?我正在编写一个定义了大量代码的代码库,如果没有正确的突出显示,就很难阅读。
谢谢 您可以使用
高亮显示
命令覆盖颜色。创建文件~/.vim/after/syntax/c.vim
,并添加以下行:
highlight cDefine ctermfg=4 cterm=bold
它将以粗体浅蓝色设置定义
指令
此外,这可以帮助您选择颜色:我找到了一个适合我的解决方案。它不使用注释颜色为代码着色,但会将其隐藏。 如果我将光标放在AAA上,在
#ifdef AAA
行中,并键入[I
,VIM可以显示AAA的定义。
然后我查看定义,决定是否应该显示此代码块,并使用
zf%
将其折叠(如果折叠,则使用zf
,并且%
指定折叠到块的末尾)上发布的最早的Vim插件之一是
它为
#ifdef#ifndef#else#endif
块(但不是#如果已定义()
),具有将符号标记为已定义或未定义的功能。能否将代码显示为文字文本和要突出显示的文件类型?我希望在这种代码的情况下:\define AAA
\ifndef AAA
int x;\endif
如果int x
则int x
将具有不同的颜色取消区块谢谢,但它没有回答我的问题。这使得#define AAA
以不同的颜色着色。我想要的是int x
以不同的颜色。我明白了。我想说编辑器无法检测到它。#define
行与以下#ifdef
完全独立,它与uld可以在任何其他地方,甚至在一个单独的文件中。行#if 0
可以清楚地作为一个不可访问的块进行分析,但我想说,Vim无法轻松分析要着色的#ifdef
,您需要编译器。这有意义吗?感谢您的响应!我理解Vim很难确定自动执行此操作,但如果我执行[I]操作,它确实会以某种方式正确计算表达式。不管怎样,因为目标是代码可读性,即使手动告诉VIM定义的值,或者甚至使用注释颜色为特定块着色,我也可以,我已经找到并安装了它,但我似乎不适合我。(VIM不识别:Define
)@user1637056中有一些文档:“用法:”用作语法插件(源代码ifdef.VIM from~/vimfiles/after/syntax/cpp.VIM-”以及c.VIM和idl.VIM)