【问题标题】:Let Emacs highlight syntax keyword pair让 Emacs 高亮语法关键字对
【发布时间】:2015-01-02 05:30:48
【问题描述】:

我正在学习如何使用 Emacs 编写代码 (c++)。我想知道,是否有一个包(我使用的是 Emacs 24.3)可以突出显示成对或属于同一组的语法元素?比如我想当光标在任意一个ifelseifelse三个元素上时同时高亮,这样我就可以看清楚哪三个代码块属于同一个条件句。我认为它很有用,尤其是在嵌套 if 句子时。另一种情况是(我不确定它是否与前一个功能相同),当光标位于return 关键字上时,所有return 关键字将同时突出显示。这样我就可以检查函数中的所有现有案例。

顺便说一句,此功能在 c++ 中的用处可能不如在没有大括号的其他一些语言(例如 shell 脚本或 VB.NET)中有用。但它仍然是阅读代码的好帮手。

【问题讨论】:

  • 要突出显示返回(就像光标当前所在的任何单词),您可以使用Highlight symbol中的highlight-symbol-mode

标签: c++ emacs


【解决方案1】:

我认为 C++ 还没有这样的东西。对于主要模式使用 SMIE 进行导航和缩进的语言(例如 ruby​​-mode),您可以启用show-paren-mode,它将突出显示匹配的开始/结束关键字。如果您在“if”上,它不会突出显示 else/elseif,tho。

而且我不知道有任何包可以突出函数中的所有“返回”,尽管根据beginning-of-defunend-of-defun 编写这应该相当容易。

【讨论】:

  • 感谢您的回答。我对突出显示return 也有同样的感觉,我想我自己可以做到。但是对于分组关键字,“if...elseif...else”或“switch...case...default”,没有办法突出显示它们吗?好吧,也许switch 不是一个很好的例子,因为它没有那么有用。但是对于(嵌套)if,在同一“级别”上突出显示关键字确实有助于阅读代码。
  • 我并不是说没有办法,我只是说我不知道​​目前有任何软件包可以做到这一点。我认为通常人们依赖缩进。
  • 是的,我明白你的意思。当然缩进也是一个帮手。我只是觉得这样的突出显示在视觉上更容易。还是谢谢你。
猜你喜欢
  • 1970-01-01
  • 2010-10-26
  • 2014-10-07
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多