24

我认为标准突出显示是有用的——在某种程度上。在使用回调和嵌套结构进行编程时,这无济于事。关键字和字符串,它们无处不在,当它们以不同的颜色显示时会有所帮助,但这些颜色并不能说明我在哪个范围内,从词汇的角度来看我在哪里。

我在 Douglas Crockford 的一次谈话中听说过上下文突出显示,我不记得它的网址了。这个想法是,突出范围的词汇级别。顶层定义用color0着色,内部层块语句用color1着色,并且每次引入新的范围级别时都会递归重复。下面是一个例子,使用了一些虚构的节点库。(现在添加了一个(ish(或 scheme lisp))示例)

例子。 伪方案多括号示例

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

这存在吗?有编辑器实现这个吗?更重要的是,我可以在 vim 中使用它吗?

另一个与我相同的问题,没有真正的答案:Crockford 风格的上下文着色是否在任何代码编辑器中实现?

4

3 回答 3

2

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

rainbow_levels.vim:一种不同的代码高亮方法。

当然这是一个非常简单的实现,只考虑缩进级别而不是实际上下文,但它完成了工作;D

于 2017-12-23T01:39:07.627 回答
1

不完全符合您的要求,但代码折叠是一项强大的功能,可让您专注于代码的特定级别。Vim 支持折叠http://vim.wikia.com/wiki/Folding

缩进指南也非常方便,用于专注于代码的特定部分。崇高的文本编辑器有这个(http://sublimetext.userecho.com/topic/98136-indent-guide-highlighting-changed/

我看到这个 vim 插件(https://github.com/nathanaelkane/vim-indent-guides)似乎做同样的事情。

你可以创建一个语法高亮,使用这个插件的缩进逻辑来改变配色方案。您所描述的内容更多地涉及它不仅需要在缩进之外工作,还需要像语言解析器一样工作。

于 2013-02-28T22:12:02.247 回答
0

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

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

于 2014-03-10T11:31:21.613 回答