Возможно, кому-нибудь пригодится... Мелкий макрос, копирующий отмеченный кусок текста из одного редактора в другой.
Задача: на редактирование открыто несколько (не менее двух) файлов; надо отмеченный кусок скопировать из одного файла в другой. Часто требуется "компиляция" кусков текста из нескольких файлов в один. Предлагаемый макрос решает эту задачу.
Если на редактирование открыто несколько файлов, то будет выведено меню с возможностью выбора.
Отмеченный кусок вставляется с позиции курсора в принимающем редакторе; после копирования курсор перемещается в конец вставленного куска.
За макросом закреплена клавиша AltC.
Проверено на блоке типа "поток" (Stream)
Копирование выделенного блока в другой редактор
Posted: Sat 07 Apr, 2018 16:36
by ccaid
компиляции искаропки:
Ctrl-<Gray +> Добавить блок в Буфер Обмена
Копирование выделенного блока в другой редактор
Posted: Sat 07 Apr, 2018 20:09
by buniak_a_h
ccaid wrote: ↑Sat 07 Apr, 2018 16:36
компиляции искаропки:
Ctrl-<Gray +> Добавить блок в Буфер Обмена
Спасибо, конечно... Но может, я не понял, Вы это к чему?
1. Обычный (виндовый) буфер обмена может содержать нужное. мой макрос не изменяет его (переключает на внутренний буфер ФАРа, затем восстанавливает)
2. Стандартная (для меня) ситуация: открыто несколько редакторов, разбираю (расфасовываю) один файл по нескольким. Одна и та же последовательность кнопок; легко ошибиться и скопировать не в тот файл, особенно когда от однообразной работы входишь в транс. Меню выбора файла для этого случая удобно.
Копирование выделенного блока в другой редактор
Posted: Sun 08 Apr, 2018 07:59
by ccaid
на всякий случай указал минимальный, но всегда и всем доступный вариант накопления кусков текста.
если он чем-то ограничивает, то конечно, можно и скрипт сочинить.
2.
buniak_a_h wrote: ↑Wed 04 Apr, 2018 22:52
Часто требуется "компиляция" кусков текста из нескольких файлов в один. Предлагаемый макрос решает эту задачу.
здесь ничего не говорится насчет расфасовки файла но нескольким. а вот для накопления кусков из нескольких файлов со вставкой результата в один файл как раз и справляется указанный мной вариант.
Копирование выделенного блока в другой редактор
Posted: Sun 08 Apr, 2018 08:27
by buniak_a_h
ccaid wrote: ↑Sun 08 Apr, 2018 07:59
на всякий случай указал минимальный, но всегда и всем доступный вариант накопления кусков текста
Спасибо.
Копирование выделенного блока в другой редактор
Posted: Sun 08 Apr, 2018 08:34
by Shmuel
Как для накопления, так и для расфасовки, можно вполне обойтись без хранения данных в буфере обмена (ни в каком из них). Текст можно хранить, либо накапливать просто в переменных макроса.
Копирование выделенного блока в другой редактор
Posted: Sun 08 Apr, 2018 08:49
by buniak_a_h
Shmuel wrote: ↑Sun 08 Apr, 2018 08:34
Как для накопления, так и для расфасовки, можно вполне обойтись без хранения данных в буфере обмена (ни в каком из них). Текст можно хранить, либо накапливать просто в переменных макроса.
Знаю, естественно. Возникли какие-то странности с записью строки в приёмный редактор (ни Editor.SetStr, ни editor.SetString, ни editor.InsertText, ни просто print() ни к чему не приводили). Флаг, включающий отображение изменений при выполнении макроса (не помню, как называется) положения не исправлял. К нужному результату приводила вставка far.Show, но так невозможно было работать. Разбираться я не стал - для моей работы мне хватило копирования через буфер, а времени жалко.
Т.к. здесь на форуме иногда публикуют какие-то уж совсем тупые макросы, которые легко можно получить просто записью keystroke, а лично мне мой показался удобным, я и решил поделиться. Ну, может, кому-то покажется полезным...