在許多其他編輯器中,當您錄製宏時,您可以反覆運行該宏。但是,在科莫多編輯中,沒有這樣做的選項。在科莫多編輯中,你如何重複一次宏X次,或重複一個宏到文件末尾?如何在科莫多編輯中重複一個宏?
記事本+ +讓你重複宏
科莫多編輯沒有在菜單選項
在許多其他編輯器中,當您錄製宏時,您可以反覆運行該宏。但是,在科莫多編輯中,沒有這樣做的選項。在科莫多編輯中,你如何重複一次宏X次,或重複一個宏到文件末尾?如何在科莫多編輯中重複一個宏?
記事本+ +讓你重複宏
科莫多編輯沒有在菜單選項
以下是如何這樣做在一個宏(我稱之爲我的「運行當前的宏觀結束的文件」):
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();
}
你也可以有宏調用其他宏,但那是更復雜一點。
您可以重複宏X量通過使用「代碼>重複下一次按鍵N次」菜單項的時間。沒有選項重複當前的宏,直到文件結束,但爲此記錄了一個增強請求(我剛碰到並希望在我們的下一個主要版本中看到):http://bugs.activestate.com/show_bug.cgi?id=76022
首先記錄一個宏。 (單一行動)。
編輯(使用JavaScript或Python) 實施例的宏的源代碼:文本文件
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
記錄的宏代碼:
komodo.assertMacroVersion(3);
if (komodo.view) {
komodo.view.setFocus();
}
ko.commands.doCommand('cmd_home')
ko.commands.doCommand('cmd_right')
ko.commands.doCommand('cmd_right')
komodo.view.selection = ' - ';
ko.commands.doCommand('cmd_lineNext')
ko.commands.doCommand('cmd_home')
現在我們可以循環(在這種情況下的9倍)或運行直到文件的末尾作爲由Eric所示,通過編輯代碼如下:
komodo.assertMacroVersion(3);
if (komodo.view) {
komodo.view.setFocus();
}
for (i = 0; i < 9; i++) {
ko.commands.doCommand('cmd_home')
ko.commands.doCommand('cmd_right')
ko.commands.doCommand('cmd_right')
komodo.view.selection = ' - ';
ko.commands.doCommand('cmd_lineNext')
ko.commands.doCommand('cmd_home')
}