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

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Latest post of the previous page:

Wave wrote: Заметил такую фигню
Не подтверждаю. У меня нормально работает. Думаю у Вас дело в этом:
Wave wrote: Блин, пипец у меня что-то непонятное с блоками творится.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

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

Post by Wave »

Ладно, по итогам всё-таки оставил Турбо, постоянные блоки и этот макрос - так - работает.
Пользуюсь ФАРом больше 20 лет © собирательный.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Wave, кроме макросов есть ещё плагины, они тоже могут влиять.
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

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

Post by Wave »

Само собой. И я, кажется, говорил, что плагины исследовать буду ещё на эту тему. Но не сейчас.
Пользуюсь ФАРом больше 20 лет © собирательный.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Добавлена обработка клавиш Up и Down (теперь не сбрасывается выделение в непостоянных блоках).
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Shmuel wrote: теперь не сбрасывается выделение в непостоянных блоках
У меня работает только с блоками ширины 1. Так и задумано? Зачем такое ограничение?
Last edited by HaRT on Sun 15 Nov, 2015 16:05, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

HaRT wrote: У меня работает только с блоками ширины 1. Так и задумано? Зачем такое ограничение?
Если можно, объясните подробнее: как хотелось бы, и как теперь.

Я делаю блок видимым для удобства, чтобы была видна область редактирования, в т.ч. и её высота. А начинать работу можно и с выделения нулевой ширины.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Shmuel wrote: как хотелось бы, и как теперь
Имею блок ширины 2, 3 и более, нажимаю Up или Down. Сейчас каретка перемещается, а выделение сбрасывается; хочется, чтобы каретка перемещалась, а выделение оставалось (хотя бы просто ради единообразия).
Shmuel wrote: начинать работу можно и с выделения нулевой ширины
Да, я и сам заметил. Пока не понял, удобно это или нет — поэтому пока не возражаю.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

HaRT wrote: Имею блок ширины 2, 3 и более, нажимаю Up или Down. Сейчас каретка перемещается, а выделение сбрасывается; хочется, чтобы каретка перемещалась, а выделение оставалось
Изначально (и до сих пор) этот скрипт задумывался как "минимально интрузивный", то-есть он не должен вмешиваться, если его явно не попросят. Скрипт считает вертикальные выделения шириной 0 и 1 "своими", а прочие он просто не обрабатывает.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Shmuel wrote: Скрипт считает вертикальные выделения шириной 0 и 1 "своими", а прочие он просто не обрабатывает.
Так ведь это совершенно неинтуитивно! В частности, я давно прошу, чтобы и замещение блока происходило независимо от его ширины, как, например, в современных Visual Studio:
HaRT wrote: * Подобно тому, как вводимый текст замещает обычный блок, хотелось бы, чтобы и тут вводимый текст замещал каждую строку вертикального блока — тогда будет удобно, например, заменить один повторяющийся друг под другом фрагмент на другой. Да и ограничение 1 на ширину блока тоже естественным образом снимется.
Все те (июльские) пожелания в силе, притом даже желательнее недавних.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

HaRT wrote: в современных Visual Studio:
Не знаю насчёт "современных", у меня VS2010 - там при вводе первого же символа содержимое вертикального блока удаляется, после чего вводится этот символ во всех строках блока, причём блок становится нулевой ширины. Это то, чего вы хотите?

А что касается Up и Down - в VS2010 они сбрасывают блок, чего вы, кажется, не хотите. :)
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Shmuel wrote: вводится этот символ во всех строках блока, причём блок становится нулевой ширины. Это то, чего вы хотите?
Именно, т.е. чтобы функциональность не ограничивалась блоками ширины 1. Нюанс заключается в том, что результирующий блок ширины 0 в Фаре не виден; поэтому я не против того, чтобы, как и в других сценариях, получился блок ширины 1 и чтобы обращение с ним было, как сейчас.
Shmuel wrote: А что касается Up и Down
Я лишь хочу, чтобы поведение при ширине больше 1 было таким же, как при ширине 1.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

HaRT, вы не полностью последовательны в своих вишах, т.е. что-то хотите как в VS, а что-то - наоборот.
Видимо надо будет сделать какие-то настройки (опции) в начале файла, а иначе на всех не угодишь.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Shmuel wrote: вы не полностью последовательны в своих вишах, т.е. что-то хотите как в VS, а что-то - наоборот
Странное у Вас понимание „последовательности“. Просто мои пожелания действительно не описываются в терминах „сделать всё, как там-то“. Поэтому я каждый раз оговариваю, что именно хочу, как где. И пока противоречий в своих конкретных просьбах не вижу. А Вы?
Shmuel wrote: надо будет сделать какие-то настройки (опции) в начале файла, а иначе на всех не угодишь
Возможно. Однако кому помешает предлагаемое мною поведение?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

В первую очередь пишу этот скрипт для себя.
Ваши предпочтения безусловно могут отличаться от моих или ещё от чьих-то.
Поэтому всё не так однозначно.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Добавлена опция удалять или заменять содержимое блока, как в VS2010 (работает для вертикальных блоков шириной не менее 2).
Post Reply

Return to “Полезные макросы и скрипты”