Latest post of the previous page:
Именно этот вопрос я и задал ccaid'уJohn Doe wrote:Вы считаете, что установка позиции тоже должна попадать в Undo?
Я в таких случаях просто отключаю преобразование в пробелы на время.
Code: Select all
Macro {
description="Duplicate current line";
area="Editor"; key="CtrlP";
condition = function() return not Object.Selected end;
action=function()
local Info = editor.GetInfo ()
local Line=editor.GetString(Info.EditorID, 0, 2)
-- Начало блочной операции
editor.UndoRedo(nil, far.Flags.EUR_BEGIN)
-- Дублирование строки
editor.SetPosition(Info.EditorID, Info.CurLine, 1)
editor.InsertString(Info.EditorID)
editor.SetPosition(Info.EditorID, Info.CurLine, 1)
editor.InsertText(Info.EditorID, Line)
editor.SetPosition(Info.EditorID, Info)
-- Конец блочной операции
editor.UndoRedo(nil, far.Flags.EUR_END)
end;
}
Ctr+C
и Ctr+V
вроде тоже не преобразовывают табы.