我可以在 Gedit 中设置默认语法高亮吗?

我可以在 Gedit 中设置默认语法高亮吗?

在您用 gedit 保存文档之前,语法高亮功能处于关闭状态。这样做显然有充分的理由——如果某些单词随机以不同的颜色显示,人们可能会感到困惑。但就我而言,我几乎只使用 gedit 进行 HTML 编辑。

很多时候,我会将代码片段粘贴到新的 gedit 文档中以便快速编辑,但必须手动将语法颜色设置为 HTML。其他时候,我会打开 ColdFusion (.cfm) 文档,但 gedit 显然无法识别该文档,因此我再次必须手动将颜色设置为 HTML。如果我能找到一种方法来告诉 gedit 自动对新文档和没有可识别文件扩展名的文档使用 HTML 语法突出显示,那么这两个不便之处都将得到解决。这可能吗?

答案1

您至少可以通过以超级用户身份编辑html.lang来在 html 语法颜色方案中添加文件扩展名。因此,假设您想向 cfm 文件添加 HTML 语法突出显示,您可以更改此/usr/share/gtksourceview-2.0/language-specs/

<property name="globs">*.html;*.htm</property>

(默认html.lang

<property name="globs">*.html;*.htm;*.cfm</property>

答案2

您可以在目录中创建自己的语言定义文件$HOME。编辑 gtk 语言规范是不建议就像覆盖每次 gtksourceview 更新。

将您的语言规范文件复制到您的主目录:

$ cp /usr/share/gtksourceview-3.0/language-specs/html.lang ~/.local/share/gtksourceview-3.0/language-specs/

然后,将您的自定义文件格式添加.cfm到扩展列表中:

<property name="globs">*.html;*.htm;*.cfm</property>

这样,gedit将在您的自定义文件格式上使用自动语法突出显示,并且 gtk 更新不会覆盖您的自定义更改。

答案3

如果不修改 Gedit 的源代码或编写插件来覆盖默认设置,则无法实现这一点。默认的语法高亮方案是硬编码

答案4

文件中存在冲突 /usr/share/gtksourceview-3.0/language-specs/sml.lang ,并且/usr/share/gtksourceview-3.0/language-specs/xml.lang

两者都有.sml与之关联的扩展。要自动获得标准 ML 语法突出显示,您需要.sml从 中删除/usr/share/gtksourceview-3.0/language-specs/xml.lang

相关内容