在您用 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
。