Дублирование строки

Здесь обсуждается всё, что касается макросов.
Shmuel
Posts: 5867
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 215 times

Дублирование строки

Post by Shmuel » Fri 08 Feb, 2019 11:52


ladserg
Posts: 215
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

Дублирование строки

Post by ladserg » Fri 08 Feb, 2019 11:56

Sikambr wrote:
Fri 08 Feb, 2019 11:43
Подскажите, как решить такую проблему.
В настройках редактора стоит "Преобразовывать новые символы табуляции в пробелы".
Как продублировать строку, чтобы сохранилась табуляция, имеющаяся в строке?
С такой настройкой она преобразовывается в пробелы.
Я в таких случаях просто отключаю преобразование в пробелы на время.
Еще у меня такой макрос не преобразовывает новые табы в пробелы:

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 вроде тоже не преобразовывают табы.
Last edited by ladserg on Fri 08 Feb, 2019 12:05, edited 2 times in total.

Post Reply

Return to “Обсуждение макросов”