Vim上下文突出显示

Vim上下文突出显示,vim,ide,editor,syntax-highlighting,highlighting,Vim,Ide,Editor,Syntax Highlighting,Highlighting,我认为标准高亮显示在某种程度上是有用的。当使用回调和嵌套结构编程时,这没有帮助。关键字和字符串,它们随处可见,当它们以不同的颜色显示时会有所帮助,但这些颜色并没有给出我在哪个范围内的线索,也没有给出我在词汇角度上的位置 我在道格拉斯·克罗克福德(Douglas Crockford)的演讲中听说过上下文突出显示,我记不起它的url了。其思想是,突出词汇层面的范围。顶级定义用color0着色,内部级别块语句用color1着色,每次引入新级别的作用域时,都会递归重复。下面是一个使用一些虚拟节点库的示例

我认为标准高亮显示在某种程度上是有用的。当使用回调和嵌套结构编程时,这没有帮助。关键字和字符串,它们随处可见,当它们以不同的颜色显示时会有所帮助,但这些颜色并没有给出我在哪个范围内的线索,也没有给出我在词汇角度上的位置

我在道格拉斯·克罗克福德(Douglas Crockford)的演讲中听说过上下文突出显示,我记不起它的url了。其思想是,突出词汇层面的范围。顶级定义用color0着色,内部级别块语句用color1着色,每次引入新级别的作用域时,都会递归重复。下面是一个使用一些虚拟节点库的示例。(现在添加了一个(ish(或scheme lisp))示例)

这不一定适用于节点或javascript。我想知道是否有一个编辑器/vim插件实现了这种特性。我不知道上下文突出显示是否是这个词的意思,但我找不到一个。通过谷歌搜索上下文高亮显示会显示基于通用标记的高亮显示和上下文(我对此一无所知)的结果

这是否存在?是否有一个编辑器实现了这一点?更重要的是,我能把这个放在vim里吗


另一个问题与我的问题相同,没有真正的答案:

不完全是您所要求的,但代码折叠是一个强大的功能,可以让您专注于代码的特定级别。Vim支持折叠

缩进指南也非常方便,用于关注代码的特定部分。升华文本编辑器有以下()

我看到了vim()的这个插件,它似乎做了同样的事情


您可以创建一个语法荧光笔,它使用这个插件的缩进逻辑来更改颜色方案。您所描述的更为复杂,它不仅需要使用缩进,还需要像语言解析器一样工作。

现在VIM中有一个插件,名为。我只是玩了一点,还没有给人留下深刻的印象,但它看起来很有希望


注意:您需要安装
npm
,然后在安装插件的目录中运行
npm install
。很遗憾,我在安装时忘了阅读说明。

我也找不到类似的东西,所以我写了一个:

:代码高亮显示的不同方法


当然,这是一个非常简单的实现,只考虑缩进级别而不是真实的上下文,但它完成了任务;我喜欢这个。如果&else是同一个级别,它们各自的{}不是另一个级别吗?一般来说,颜色的问题,特别是你的颜色,是它们没有一个可以用来表示上下文的自然顺序。彩虹的颜色可能是这样一个顺序的近似值,但我认为它与嵌套或渐变的想法不符。可能可以使用亮度:光标周围的颜色变亮,随着我们离开,颜色逐渐变暗。不管怎样,这是一个有趣的想法。这里有一个链接到。他在17:30左右谈到了“上下文着色”。一个重要的区别是,他的变量是根据它们声明的范围而不是它们出现的范围来着色的。@lazfish Romaill我只是想说明这个想法。颜色只是出于同样的原因随机选择的,我同意罗梅因的想法,尽管我不知道亮度是什么。lazfish IMO将块绑定到的实际关键字上色,从而更容易重新命名级别。马修·斯特劳布里奇,非常感谢你的链接,我已经查找了一段时间了。谢谢大家的评论@G.卡亚尔普。谢谢@hwatkins,但这并不能回答我的问题。但我同意最后一段。