我正在 Kate 中编辑一个很长的 HTML 文档,我希望能够“关闭”我当前未处理的部分。但这是一个新文档,最高级别的模块化使用的是section
,而不是div
。这是一个 HTML 标签,我的 Kate(版本 3.8.4)无法识别它。它div
与其他旧元素配合得很好。
我开始四处寻找是否有办法获得凯特的支持。我可以想象我的版本很旧(这是 Debian stable 附带的版本),但我不想升级它,除非较新的版本确实支持 HTML5。奇怪的是,我找不到太多关于我需要的文档:既没有凯特的“最新功能”列表,也没有找到哪个数字是最新版本的信息。
最新版本的 Kate 有 HTML5 支持吗?如果是,是否建议从源安装它?毕竟,我的许多来自存储库的程序都依赖于 Kate,例如 Kile?如果它没有 HTML5 支持,是否有其他方法来获取它,也许使用某种插件?
答案1
我安装了 Kate 3.13.2,它表现出与您描述的相同的行为。但是,您可以通过编辑 Kate 使用的 html 语法架构来更改 Kate 以获得所需的行为。
首先,找到 Kate 的 html 语法文件。对于我的安装,这是在
/usr/share/apps/katepart/syntax/html.xml
该文件顶部附近是定义区域的标签列表,这些区域是可折叠的。要添加到此列表,只需复制并粘贴一行作为开始和结束标记,然后进行适当的编辑。下面是一个差异,显示了我添加的内容及其两侧的几行。
*** html.xml.orig 2014-06-25 19:40:40.000000000 +0000
--- html.xml 2014-06-25 19:41:08.000000000 +0000
***************
*** 23,28 ****
--- 23,29 ----
<RegExpr attribute="Element" context="JS" String="<script\b" insensitive="TRUE" beginRegion="script" />
<RegExpr attribute="Element" context="El Open" String="<pre\b" insensitive="TRUE" beginRegion="pre" />
<RegExpr attribute="Element" context="El Open" String="<div\b" insensitive="TRUE" beginRegion="div" />
+ <RegExpr attribute="Element" context="El Open" String="<section\b" insensitive="TRUE" beginRegion="section" />
<RegExpr attribute="Element" context="El Open" String="<table\b" insensitive="TRUE" beginRegion="table" />
<RegExpr attribute="Element" context="El Open" String="<ul\b" insensitive="TRUE" beginRegion="ul" />
<RegExpr attribute="Element" context="El Open" String="<ol\b" insensitive="TRUE" beginRegion="ol" />
***************
*** 30,35 ****
--- 31,37 ----
<RegExpr attribute="Element" context="El Open" String="<&name;" />
<RegExpr attribute="Element" context="El Close" String="</pre\b" insensitive="TRUE" endRegion="pre" />
<RegExpr attribute="Element" context="El Close" String="</div\b" insensitive="TRUE" endRegion="div" />
+ <RegExpr attribute="Element" context="El Close" String="</section\b" insensitive="TRUE" endRegion="section" />
<RegExpr attribute="Element" context="El Close" String="</table\b" insensitive="TRUE" endRegion="table" />
<RegExpr attribute="Element" context="El Close" String="</ul\b" insensitive="TRUE" endRegion="ul" />
<RegExpr attribute="Element" context="El Close" String="</ol\b" insensitive="TRUE" endRegion="ol" />
重新加载 Kate 并打开一个 html 文件,您现在可以在部分标签处折叠。这不会添加完整的 HTML5 支持,但确实满足了折叠此标签的需要。另请注意,您需要保留此编辑文件的备份,因为下次更新 Kate 时它可能会被破坏。
结果: