1

他の多くのエディターでは、マクロを記録すると、そのマクロを繰り返し実行できます。ただし、Komodo Edit には、そうするオプションがありません。Komodo Edit で、マクロを X 回繰り返す、またはマクロをファイルの最後まで繰り返すにはどうすればよいですか?

NotePad++ ではマクロを繰り返すことができます

NotePad++ ではマクロを繰り返すことができます

Komodo Edit のメニューにはそのオプションがありません

Komodo Edit のメニューにはそのオプションがありません

4

3 に答える 3

2

「コード > 次のキーストロークを N 回繰り返す」メニュー項目を使用して、マクロを X 回繰り返すことができます。ファイルの最後まで現在のマクロを繰り返すオプションはありませんが、これに対する拡張要求がログに記録されています (これは私がぶつかったばかりで、次のメジャー リリースで見られることを期待しています): http://bugs.activestate .com/show_bug.cgi?id=76022

于 2013-11-07T16:58:32.717 に答える
1

マクロでそれを行う方法は次のとおりです(私は「現在のマクロをファイルの最後まで実行する」と呼んでいます):

var currentMacro = ko.macros.recorder.currentMacro;
if (!currentMacro || !currentMacro.length) {
    alert("There is no current macro to execute");
    return;
}
var view = ko.views.manager.currentView;
var scimoz = view.scimoz;
var startingLine = scimoz.lineFromPosition(scimoz.currentPos);
var i = 1;
scimoz.beginUndoAction();
try {
    while (true) {
        ko.macros.recorder.executeLastMacro();
        let newPos = scimoz.currentPos;
        let newLine = scimoz.lineFromPosition(newPos);
        if (newLine <= startingLine) {
            newLine = startingLine + 1;
        }
        startingLine = newLine;
        if (startingLine >= scimoz.lineCount) {
            break;
        }
        scimoz.gotoPos(scimoz.positionFromLine(startingLine));
    }
} finally {
    scimoz.endUndoAction();
}

マクロで他のマクロを呼び出すこともできますが、これは少し複雑です。

于 2013-11-07T18:22:39.737 に答える