유니코드 코드 포인트를 가져와 해당 유니코드 문자를 커서에 삽입하는 Kate용 플러그인이나 스크립트를 어떻게 작성할 수 있나요?

유니코드 코드 포인트를 가져와 해당 유니코드 문자를 커서에 삽입하는 Kate용 플러그인이나 스크립트를 어떻게 작성할 수 있나요?

예를 들어 Gedit에서 코드 포인트를 기반으로 유니코드 문자를 입력하는 것은 쉽습니다( Ctrl+ Shift+ 를 누르고 u(16진수) 코드 포인트를 입력한 후 Enter를 누르십시오).

사람들은 터미널을 사용할 수도 있습니다. 예를 들어, 실행하면 echo -e '\u2603'눈사람 ☃이 생성됩니다. 여기서 2603은 다시 16진수 코드 포인트입니다.

그러나 현재 KDE의 Kate(버전 19.12.3 기준)에는 유사한 기능이 없는 것으로 보입니다.

실제로 Gedit나 터미널을 사용하여 기호를 생성한 다음 이를 복사하여 Kate에 붙여넣을 수 있습니다. 하지만 당황스럽습니다.

동시에 Kate는 플러그인과 스크립트도 지원합니다. 불행히도 작성 방법에 대한 튜토리얼을 찾을 수 없습니다.이것, 2004년부터, 너무 간결해서 튜토리얼 자격이 거의 없으며 어쨌든 오래된 것일 수 있습니다).

유니코드 문자를 입력하는 방법이 꽤 표준적인 것처럼 보이기 때문에 플러그인이 Gedit와 동일한 기능을 달성할 수 있다면 좋을 것입니다.

하지만 꼭 이렇게 될 필요는 없습니다. 아마도 Kate 플러그인(또는 Kate 스크립트?)은 다음과 같이 작동할 수 있습니다. 키보드 단축키를 누르면 표준 KDE 팝업 대화 상자가 나타나 유니코드 16진수 코드를 입력하라는 메시지를 표시합니다. 코드를 입력한 후 "Enter"를 누르면 해당 유니코드 문자가 Kate의 현재 커서 위치에 삽입됩니다.

의심할 바 없이 들어갈 수 있는 다른 의미 있는 방법이 있습니다. 중요한 점은 현재 커서 위치에 유니코드 문자를 입력해야 한다는 점입니다.

Kate 플러그인(또는 스크립트)을 사용하여 이와 같은 작업을 수행할 수 있습니까? 적절한 플러그인(또는 스크립트)을 작성하는 것이 얼마나 어려운가요? 그러한 플러그인을 작성하고 설치하는 방법은 무엇입니까?

답변1

시도해 봤어?캐릭터 선택? 여기서 원하는 기호를 검색한 다음 클립보드에 복사하여 Kate에 붙여넣을 수 있습니다.

여기에 이미지 설명을 입력하세요.

답변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

이것이 귀하의 질문에 대한 답변이 되기를 바랍니다.

관련 정보