Имитация многострочного редактирования как в SciTE

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

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 01 Dec, 2014 18:25

Имитация многострочного печатания/удаления как в редакторе SciTE.
- Создать вертикальный блок шириной 0 или 1 символ.
- Курсор должен находиться в любой строке, входящей в блок.
- Начинайте редактировать!

scite_like_20160113.7z
(2.06 KiB) Downloaded 65 times
Last edited by Shmuel on Wed 20 Jan, 2016 12:09, edited 13 times in total.

User avatar
HaRT
Moderator
Posts: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

Имитация многострочного редактирования как в SciTE

Postby HaRT » Mon 01 Dec, 2014 18:34

Shmuel wrote:Source of the postшириной 1 символ
Почему бы не 0?
Содержательное обсуждение тут: «Невидимые блоки нулевой ширины» — даже со скринкастом!
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 01 Dec, 2014 18:36

HaRT wrote:Source of the post Почему бы не 0?
Для визуализации. Можно применить и другие методы, конечно.

User avatar
HaRT
Moderator
Posts: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

Имитация многострочного редактирования как в SciTE

Postby HaRT » Mon 01 Dec, 2014 18:38

Shmuel wrote:Source of the post Для визуализации.
Просто в имеющихся реализациях удобно то, что выделенное замещается вводимым. Если нужно только вставить, то замещать-то и нечего. Тут бы нулевая ширина и пришлась ко двору.
По идее можно было бы подсвечивать уже набранную часть другим цветом фона — тогда будет хорошо видно, какие строки задействованы. (Предлагаемый скрипт я не пробовал. Если там оно уже так и есть, я только рад.)
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 01 Dec, 2014 18:42

HaRT wrote:Source of the post По идее можно было бы подсвечивать уже набранную часть другим цветом фона — тогда будет хорошо видно, какие строки задействованы. (Предлагаемый скрипт я не пробовал. Если там оно уже так и есть, я только рад.)
Там этого нет. Это всего лишь начальный набросок. Каждый желающий может его развивать и улучшать и делиться с сообществом.

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 01 Dec, 2014 23:43

В первом посте выложен скрипт с одним исправлением и правильной обработкой режима вставки/замены.

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Tue 02 Dec, 2014 18:31

Обновлён файл в первом посте. Сделано несколько исправлений.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Имитация многострочного редактирования как в SciTE

Postby John Doe » Mon 08 Dec, 2014 10:37

Вот такой макрос вызывает неработоспособность скрипта:

Code: Select all

Macro {
  area="Editor"; key="/./";
  action=function()
    Keys"AKey"
  end;
}


P.S.
Собственно скрипт очевидно не при чём, это больше в тему LuaMacro

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Имитация многострочного редактирования как в SciTE

Postby John Doe » Mon 08 Dec, 2014 10:46

Shmuel wrote:Source of the post Курсор должен находиться в любой строке, входящей в блок, на позиции блока или правее.
В SciTE работает точно так?

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 08 Dec, 2014 10:53

John Doe wrote:
Shmuel wrote:Source of the post Курсор должен находиться в любой строке, входящей в блок, на позиции блока или правее.
В SciTE работает точно так?
Нет, так как в Scite блок нулевой ширины является видимым (курсор растягивается на неск. строк).
А вообще, скрипт ещё планируется развивать, просто переключился сейчас на другое.

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 08 Dec, 2014 10:55

John Doe wrote:Source of the post Вот такой макрос вызывает неработоспособность скрипта:

Разрешите в условии верхнего уровня FARMACRO_KEY_EVENT. Я это не сделал сознательно.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Имитация многострочного редактирования как в SciTE

Postby John Doe » Mon 08 Dec, 2014 11:05

Shmuel wrote:Source of the post Нет, так как в Scite блок нулевой ширины является видимым (курсор растягивается на неск. строк).
Если я правильно понимаю, то вертикальный блок в данном случае должен как-бы заменить курсор, т.е. все действия в идеале должны выполняться в позициях блока, а не левее/правее?

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 08 Dec, 2014 11:10

John Doe wrote:Source of the post Если я правильно понимаю, то вертикальный блок в данном случае должен как-бы заменить курсор
Так оно и есть в моей рабочей (ещё не выложенной) версии.

User avatar
John Doe
Бюрократ
Posts: 11042
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Имитация многострочного редактирования как в SciTE

Postby John Doe » Mon 08 Dec, 2014 11:16

Shmuel wrote:Source of the post Разрешите в условии верхнего уровня FARMACRO_KEY_EVENT.
Помогло.
Shmuel wrote:Source of the post Я это не сделал сознательно.
А почему?
Не правильнее этим управлять с помощью NoSendKeysToPlugins?

Shmuel
Posts: 4951
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Имитация многострочного редактирования как в SciTE

Postby Shmuel » Mon 08 Dec, 2014 11:23

John Doe wrote:Source of the post Не правильнее этим управлять с помощью NoSendKeysToPlugins?
Может и так. Я на начальном этапе не хотел влезать в детали, хотелось побыстрее получить основную функциональность.

User avatar
4ekucT
Posts: 505
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Имитация многострочного редактирования как в SciTE

Postby 4ekucT » Mon 22 Dec, 2014 01:07

О давно хотел такую штуку. Спасибо!

Еще для persistent блоков хорошо было бы иметь возможность поставить курсор в начало или в середину блока и редактировать там.
А готы прыгают с балконов?


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

Who is online

Users browsing this forum: No registered users and 5 guests