根据代码点输入任意 Unicode 字符很简单,例如在 Gedit 中(按Ctrl+ Shift+ u,输入(十六进制)代码点,按 Enter)。
人们甚至可以使用终端。例如,执行echo -e '\u2603'
会产生一个雪人☃。这里 2603 又是十六进制的代码点。
然而,KDE 的 Kate 目前(截至版本 19.12.3)似乎没有类似的功能。
确实,可以使用 Gedit 或终端来生成符号,然后将其复制并粘贴到 Kate 中。但这很尴尬。
同时,Kate 也支持插件和脚本。遗憾的是,我找不到任何关于如何编写它们的教程(除了这个,从 2004 年开始,它非常简洁,几乎不符合教程的资格,而且无论如何可能已经过时了)。
如果该插件能够实现与 Gedit 相同的功能,那就太好了,因为它输入 Unicode 字符的方法似乎是一种非常标准的方法。
但不必这样做。也许 Kate 插件(或 Kate 脚本?)可以这样工作:按下键盘快捷键时,会出现一个标准的 KDE 弹出对话框,提示您输入 Unicode 十六进制代码。输入代码后,我们按“回车”,相应的 Unicode 字符就会插入到 Kate 中光标的当前位置。
毫无疑问,还有其他有意义的进入方法。关键是Unicode字符必须在光标当前位置输入。
Kate 使用插件(或脚本)可以做这样的事情吗?编写适当的插件(或脚本)有多困难?如何编写和安装这样一个插件?
答案1
答案2
从版本 21.12 开始,Kate 附带了一个 Latex 补全插件,应该能够提供此功能。
https://github.com/KDE/kate/tree/master/addons/latexunicodecompletion
可以在设置中启用该插件。启用插件后,打开一个新文件,然后键入“\u”,后跟您要查找的任何符号。
使用脚本执行此操作
var katescript = {
"author": "name <email>",
"license": "LGPLv2+",
"revision": 1,
"kate-version": "5.1",
"functions": ["do_my_stuff"],
"actions": [
{ "function": "do_my_stuff",
"name": "User visible name of the action",
"category": "Editing",
"shortcut": "Ctrl+Shift+A",
"interactive": "false"
}
]
};
require("range.js");
require("cursor.js");
function help(cmd) {
if (cmd == "do_my_stuff") return i18n("Does xyz");
return "";
}
function isCursorOnUnicode() {
// code to check
return Range();
}
function do_my_stuff() {
debug(document.mimeType());
var range = isCursorOnString();
if (!range.isValid()) {
return;
}
var text = document.text(range);
if (text == "")
return;
document.editBegin();
var insertText = "...";
document.insertText(range.start, insertText);
var endCur = range.end;
endCur.setPosition(endCur.line, endCur.column + insertText.length);
document.insertText(endCur, ")");
document.editEnd();
}
上面的脚本实际上并没有做任何事情,而是展示了如何编写一个能够执行您想要的操作的脚本。该脚本支持 ECMAScript 版本 6,因此可以使用 Set 等类型。
脚本最重要的部分是顶部的标题var katescript = {...
。 Kate 将使用此标头来使您的脚本正常工作。在此标头中,您指定运行脚本后将执行的函数。在我们的例子中,这个函数是"function": "do_my_stuff"
.您还可以拥有其他功能,但它们在 UI 中不可见。
如何调用脚本?
菜单栏 -> 工具 -> 脚本 -> 编辑 -> YOUR_SCRIPT_NAME
这可能很乏味,所以另一种方法是点击F7
然后输入函数的名称,即do_my_stuff
,您的脚本将被调用。
您可能已经注意到,您还可以使用快捷方式调用脚本。在本例中,快捷方式为Ctrl+Shift+A
,但您可以将其更改为其他任何内容,只要它不与其他快捷方式冲突即可。
您可以在此处找到有关 Kate 公开的所有可用函数的文档:https://docs.kde.org/stable5/en/kate/katepart/dev-scripting.html
希望这能回答您的问题。