VictorVG2, этот плагин на форуме выложен. Там и ищите штатным поиском.
» Far Manager
DimmY
Цитата:
Думаю, что за эти годы API в FAR3 изменился слишком значительно, чтобы проблема решалась одним враппером. И если плагин стороннего автора давно заброшен, это в морг.
Цитата:
Не перестаю тебе удивляться. Ну как же выполнил, когда и поныне есть востребованные плагины, не перенесённые в FAR3?
Думаю, что за эти годы API в FAR3 изменился слишком значительно, чтобы проблема решалась одним враппером. И если плагин стороннего автора давно заброшен, это в морг.
shmuz
Понял. Я давно его не смотрел - у меня иные инструменты.
Понял. Я давно его не смотрел - у меня иные инструменты.
Alexyz21
Будьте так любезны, давайте повежливее. Здесь не форум far, где хамство - норма. Если бы у меня был адрес автора этого плагина, я давно бы написал, но никаких контактов, к сожалению, нет.
Будьте так любезны, давайте повежливее. Здесь не форум far, где хамство - норма. Если бы у меня был адрес автора этого плагина, я давно бы написал, но никаких контактов, к сожалению, нет.
DimmY
Напомни мне пожалуйста задачу - попробуем придумать для неё решение. Она явно не тупиковая, и не четырёхмерный булев куб который в своё время как пример непривычного привёл нам на лекции преподаватель ОДМ (основы дискретной математики) - вроде и просто, и непривычно - в жизни мы с четырёхмерными объектами не встречались, а потому никто сразу и не смог его себе представить, хотя на деле всё оказалось элементарно просто.
Напомни мне пожалуйста задачу - попробуем придумать для неё решение. Она явно не тупиковая, и не четырёхмерный булев куб который в своё время как пример непривычного привёл нам на лекции преподаватель ОДМ (основы дискретной математики) - вроде и просто, и непривычно - в жизни мы с четырёхмерными объектами не встречались, а потому никто сразу и не смог его себе представить, хотя на деле всё оказалось элементарно просто.
Почему Far не может выполнять команды вида
Код: >out.txt @echo Hello
Код: >out.txt @echo Hello
DimmY
Понял. Примерно (чуть иная схема управления, но удобная) на него похож VisRen Лёши Самлюкова, хотя у него есть некоторые не совсем очевидные на первый взгляд настройки и тогда приходится справку смотреть. Вот как выглядит его рабочее окно:
и именно гибкость настроек отправляет в справку. Например переименовать файл взяв часть букв имени и добавив произвольный текст [N].[E] -> [N2-5]_commom_[N-9-3].[E] переименует все выбранные файлы по шаблону "символы с 2 по 5 старого имени"_common_"символы с 9 по 3 от конца старого имени"."расширение без изменений". Посмотри, тебе такой инструмент подойдёт? Ну и там же счётчики, преобразования регистра и откат переименования в случае ошибок (F6) есть. Ну а коли нужно то и в редактор можно файлы отправить.
А вот BatchRen кладёт список в формате <старое имя> - <новое имя> в редактор, зато позволяет не только переименовать файл на месте, но и сразу перенести его в произвольный каталог. То же удобно тем, что сокращается число операций и время затраченное на работу.
А в LuaFAR Search переименование происходит с помощью регулярных выражений что удобно когда у нас куча файлов с вроде похожими именами, но не подпадающими под позиционные шаблоны - регэкспы смогут найти нужный фрагмент там, где позиционных шаблон бессилен или дров наломает.
Это "на вскидку" из того чем сам часто пользуюсь, ну и есть не очевидные возможности например в LUA File List - формируемая строка может иметь произвольный формат и длину, и ничто не мешает нам с помощью шаблонов плагина сформировать батник который выполнит ряд операций избавив нас от ошибок.
Понял. Примерно (чуть иная схема управления, но удобная) на него похож VisRen Лёши Самлюкова, хотя у него есть некоторые не совсем очевидные на первый взгляд настройки и тогда приходится справку смотреть. Вот как выглядит его рабочее окно:
и именно гибкость настроек отправляет в справку. Например переименовать файл взяв часть букв имени и добавив произвольный текст [N].[E] -> [N2-5]_commom_[N-9-3].[E] переименует все выбранные файлы по шаблону "символы с 2 по 5 старого имени"_common_"символы с 9 по 3 от конца старого имени"."расширение без изменений". Посмотри, тебе такой инструмент подойдёт? Ну и там же счётчики, преобразования регистра и откат переименования в случае ошибок (F6) есть. Ну а коли нужно то и в редактор можно файлы отправить.
А вот BatchRen кладёт список в формате <старое имя> - <новое имя> в редактор, зато позволяет не только переименовать файл на месте, но и сразу перенести его в произвольный каталог. То же удобно тем, что сокращается число операций и время затраченное на работу.
А в LuaFAR Search переименование происходит с помощью регулярных выражений что удобно когда у нас куча файлов с вроде похожими именами, но не подпадающими под позиционные шаблоны - регэкспы смогут найти нужный фрагмент там, где позиционных шаблон бессилен или дров наломает.
Это "на вскидку" из того чем сам часто пользуюсь, ну и есть не очевидные возможности например в LUA File List - формируемая строка может иметь произвольный формат и длину, и ничто не мешает нам с помощью шаблонов плагина сформировать батник который выполнит ряд операций избавив нас от ошибок.
<del>
shmuz
Цитата:
Приветствую данное нововведение! Присвоение единого шортката нескольким макросам позволяет формировать тематические (контекстные) меню. А теперь и расположение строк в них можно определять. Большое спасибо!
Цитата:
%FarHome%\\Encyclopedia\\macroapi_manual.ru.chm пункт 5:
Опциональное поле sortpriority (приоритет для сортировки) – число от 0 до 100. Значение по умолчанию = 50.
Значение данного поля учитывается при определении порядка расположения макросов в меню выбора макроса.
Приветствую данное нововведение! Присвоение единого шортката нескольким макросам позволяет формировать тематические (контекстные) меню. А теперь и расположение строк в них можно определять. Большое спасибо!
FarUE3 b4569 r13893 Fri Mar 04 14:48:30 +0300 2016
Цитата:
изменения в х64 совпадают с п1 - п3, только внесены раньше по времени из бага который тащился с b4563.5, но замечен-пристрелен. Странно, как он целую неделю смог протянуть?
Цитата:
1. Far b4569 r13893
2. Common_ImpExp.lua v1.0.1
3. EdiWrap v1.10
4. Fix b4563.5
5. Рефакторинг. Обновление совместимо с SVN r13879 - SVN r13893
изменения в х64 совпадают с п1 - п3, только внесены раньше по времени из бага который тащился с b4563.5, но замечен-пристрелен. Странно, как он целую неделю смог протянуть?
Цитата:
4. Fix b4563.5
Что это за пурга?
wseventeen
Это я перестарался - не туда копировались файлы. Как за неделю это никто не увидел? Баг сидел у меня в коде - у меня переменная $INSTDIR определена как корневой каталог установки, но сами файлы приложения копируются во вложенный подкаталог внутри $INSTDIR, я про это забыл и увидев в NSIS архиве структуру дерева:
/$INSTDIR - файлы приложения
/$PLUGINSDIR - плагины NSIS, он их после сам пришибёт
/plugins <--- это и был тот баг
/[NSIS].nsi - виртуальный
мигом сей ляп пришиб.
Это я перестарался - не туда копировались файлы. Как за неделю это никто не увидел? Баг сидел у меня в коде - у меня переменная $INSTDIR определена как корневой каталог установки, но сами файлы приложения копируются во вложенный подкаталог внутри $INSTDIR, я про это забыл и увидев в NSIS архиве структуру дерева:
/$INSTDIR - файлы приложения
/$PLUGINSDIR - плагины NSIS, он их после сам пришибёт
/plugins <--- это и был тот баг
/[NSIS].nsi - виртуальный
мигом сей ляп пришиб.
Игорь написал новый скрипт, оформил тему на форуме фара Экспорт / импорт данных LuaMacro. И что странно - само имя скрипта и префиксы взял неудачно - ImpExp.lua, ieexp - мало того, что ассоциируется с эксплорером мелкомягких, так и расходится, как с созданой темой, так и с реальностью - ведь прежде чем импортировать, нужно сначала экспортировать, поэтому экспорт должен идти в названии первым, т.е ExpImp.lua и eiexp, соответственно.
Alexyz21
Скрипт ещё вчера успел опробовать, а что до имени - да хоть горшком назови только в печь не сажай.
Скрипт ещё вчера успел опробовать, а что до имени - да хоть горшком назови только в печь не сажай.
Это плохая практика, когда названия шиворот на выворот пишутся. И искать хуже и запоминать.
Alexyz21
А мы с тобой что будем по названию искать? Скорее греп кликнем, и другие скорее будут искать по дескриптору ибо это проще чем помнить условный набор символов. Вот тебе пример - AU6730 (а-ля Acorp CRIP300 - там его встретил) или искать по описанию ALCOR micro AU6370 USB2.0 Multiple Slots Flash Memory Card Reader. По маркировке иди гадай что это, по описанию можно отыскать и даташит на сей чип и разобраться где горе-инженеры из Acorp схимичили. Ладно, резистор я как нибудь и без них с ноги чипа на питание кину, но за то, что они это зная что там выход с открытым стоком не сделали надо вообще-то морду бить...
А мы с тобой что будем по названию искать? Скорее греп кликнем, и другие скорее будут искать по дескриптору ибо это проще чем помнить условный набор символов. Вот тебе пример - AU6730 (а-ля Acorp CRIP300 - там его встретил) или искать по описанию ALCOR micro AU6370 USB2.0 Multiple Slots Flash Memory Card Reader. По маркировке иди гадай что это, по описанию можно отыскать и даташит на сей чип и разобраться где горе-инженеры из Acorp схимичили. Ладно, резистор я как нибудь и без них с ноги чипа на питание кину, но за то, что они это зная что там выход с открытым стоком не сделали надо вообще-то морду бить...
VictorVG2
Предлагаете помнить вместо названий гуиды?
Предлагаете помнить вместо названий гуиды?
Alexyz21
Зачем? Достаточно дать макросам в скрипте осмысленный дескриптор чтобы искать по нему, а там можно хоть все макросы и скрипты в системе объединить в один файл и им пользоваться. Кстати эта идея в своё время была реализована на практике для комплекса майнфреймов ЕС-1066. Весь набор макросов ассемблера и пакетных сценариев ОС, включая скрипты пакета управления "ОКО" был записан в единый 860 Мб (три 300 Мб диска ЕС-5063) файл с автономным поисковым модулем искавшим нужный элемент в массиве по описанию. Сиё поле на 127 символов предусмотрели, а могли и нет - "Ищите!".
Зачем? Достаточно дать макросам в скрипте осмысленный дескриптор чтобы искать по нему, а там можно хоть все макросы и скрипты в системе объединить в один файл и им пользоваться. Кстати эта идея в своё время была реализована на практике для комплекса майнфреймов ЕС-1066. Весь набор макросов ассемблера и пакетных сценариев ОС, включая скрипты пакета управления "ОКО" был записан в единый 860 Мб (три 300 Мб диска ЕС-5063) файл с автономным поисковым модулем искавшим нужный элемент в массиве по описанию. Сиё поле на 127 символов предусмотрели, а могли и нет - "Ищите!".
т.е. предлагаете искать сначала гуид, чтобы потом найти файл? - оригинально Не проще ли сразу давать осмысленные названия файлам и такие же названия темам на форуме, чтобы поиск был "прозрачным"? Или так слишком просто?
Alexyz21
Говорят между понятиями "КОДОВОЕ_ИМЯ" и "НАЗВАНИЕ" иные люди ставят жирный знак равенства ибо в трёх соснах запутались. Лев Толстой описывал виденное им словами, а Энрике Ферма как раз очень любил описывать виденное формулами ибо именно ими думал.
Слова выше
Цитата:
каждый понимает в меру своей испорченности© для одних понятие осмысленный дескриптор ассоциируется с набором цифр - они мыслят только GUID-и, а для большинства эти слова говорят "текст описывающий объект".
Говорят между понятиями "КОДОВОЕ_ИМЯ" и "НАЗВАНИЕ" иные люди ставят жирный знак равенства ибо в трёх соснах запутались. Лев Толстой описывал виденное им словами, а Энрике Ферма как раз очень любил описывать виденное формулами ибо именно ими думал.
Слова выше
Цитата:
Достаточно дать макросам в скрипте осмысленный дескриптор чтобы искать по нему
каждый понимает в меру своей испорченности© для одних понятие осмысленный дескриптор ассоциируется с набором цифр - они мыслят только GUID-и, а для большинства эти слова говорят "текст описывающий объект".
Незачем создавать трудности на ровном месте, чтобы потом их героически преодолевать. Эта тема поднималась с названиями плагинов в меню и названиями их файлов, но танцы на граблях по прежнему в моде.
Alexyz21
Тут проще - сколько людей столько и мнений. Я коли мне что-то надо найти охотно пользуюсь грепом, а другому проще если файл будет называться "Отчёт Васи Пупкина о походе на рынок.lua" и это зависит только от того как кому проще думать. Так что тут нет смысла даже и пытаться создать какую-то условную систему имён. Всё одно то, что удобно одному примет в штыки другой, а третий скажет "А мне всё равно!".
Тут проще - сколько людей столько и мнений. Я коли мне что-то надо найти охотно пользуюсь грепом, а другому проще если файл будет называться "Отчёт Васи Пупкина о походе на рынок.lua" и это зависит только от того как кому проще думать. Так что тут нет смысла даже и пытаться создать какую-то условную систему имён. Всё одно то, что удобно одному примет в штыки другой, а третий скажет "А мне всё равно!".
Alexyz21
Некоторые умные люди древности, не один кто то, а несколько их, в разных выражениях утверждали в вольном пересказе следующее. "В мире нет ничего того, что по форме полностью соответствовало бы своему содержанию". И беспокойство об этом лишь нервы накаляет и портит. Вот, кстати, и Гир тоже кажется про это.
Некоторые умные люди древности, не один кто то, а несколько их, в разных выражениях утверждали в вольном пересказе следующее. "В мире нет ничего того, что по форме полностью соответствовало бы своему содержанию". И беспокойство об этом лишь нервы накаляет и портит. Вот, кстати, и Гир тоже кажется про это.
ок, а префиксы в памяти тоже грепом прочёсываете? Если макрос называется Экспорт-Импорт (и это логично, ибо до импорта своих настроек, нужно сначала выполнить их экспорт), то в перфиксе я ожидаю exim, но ни как не imex, или ieexp, который у меня ассоциируется с интернет эксплорером.
Alexyz21
Цитата:
Вас вполне можно понять. И ради Бога! Ну а вот персонально моя индивидуальная мысль начинается с другого. С того, что мне надо бы импортировать в несколько экземпляров установленного у меня на разных компах и флешках макроса или там плагина настройки из другого макроса/плагина. И я был бы и вовсе не прочь, если бы эти настройки передавал бы мне кто то другой. А я бы только и делал, что импортировал и импортировал. И поэтому мне префикс, начинающийся с буквы i, кажется вполне подходящим. И если я этим же макросом один раз экспортну настройки и десять раз импортну, то соотношение налицо: 10 к 1 в пользу i. И если Вам такие предпочтения кажутся странными, то мне — вполне расхожими. И ответ на этот вопрос предложен моим постом выше.
И, кстати, с интернет эксплорером лично у меня вообще ни чего не ассоциируется. Чес слово. Лет уже 10 пользуюсь им раз - другой в год. А то и реже. Вот Вы про него напомнили.
Со всем уважением и постоянной благодарностью за оказываемую помощь. Ваш Angel_Ka.
Цитата:
Если макрос называется Экспорт-Импорт (и это логично, ибо до импорта своих настроек, нужно сначала выполнить их экспорт), то в перфиксе я ожидаю exim, но ни как не imex, или ieexp, который у меня ассоциируется с интернет эксплорером.
Вас вполне можно понять. И ради Бога! Ну а вот персонально моя индивидуальная мысль начинается с другого. С того, что мне надо бы импортировать в несколько экземпляров установленного у меня на разных компах и флешках макроса или там плагина настройки из другого макроса/плагина. И я был бы и вовсе не прочь, если бы эти настройки передавал бы мне кто то другой. А я бы только и делал, что импортировал и импортировал. И поэтому мне префикс, начинающийся с буквы i, кажется вполне подходящим. И если я этим же макросом один раз экспортну настройки и десять раз импортну, то соотношение налицо: 10 к 1 в пользу i. И если Вам такие предпочтения кажутся странными, то мне — вполне расхожими. И ответ на этот вопрос предложен моим постом выше.
И, кстати, с интернет эксплорером лично у меня вообще ни чего не ассоциируется. Чес слово. Лет уже 10 пользуюсь им раз - другой в год. А то и реже. Вот Вы про него напомнили.
Со всем уважением и постоянной благодарностью за оказываемую помощь. Ваш Angel_Ka.
Angel_Ka
А я уже и забыл как это глюк IE выглядит. И для меня название не важно, т.к. бьют не по паспорту а по морде© и как именно будет назваться нужный мне элемент - цифровым номером, семиэтажной фразой с которой все святые разбегутся или ещё как мне абсолютно не важно ибо я его буду искать не по названию (паспорту), а по морде (функционалу) ибо сиё разумнее. А помнить таблицы названий - ну это не плохо, но когда-то академик Воронов сказал "Инженер не кладовщик и не обязан помнить на какой полочке лежит формула, но он обязан уметь понять что нужно для решения задачи и воспользоваться справочником чтобы найти это и решить её." и я думаю что на этом стоит поставить точку.
А я уже и забыл как это глюк IE выглядит. И для меня название не важно, т.к. бьют не по паспорту а по морде© и как именно будет назваться нужный мне элемент - цифровым номером, семиэтажной фразой с которой все святые разбегутся или ещё как мне абсолютно не важно ибо я его буду искать не по названию (паспорту), а по морде (функционалу) ибо сиё разумнее. А помнить таблицы названий - ну это не плохо, но когда-то академик Воронов сказал "Инженер не кладовщик и не обязан помнить на какой полочке лежит формула, но он обязан уметь понять что нужно для решения задачи и воспользоваться справочником чтобы найти это и решить её." и я думаю что на этом стоит поставить точку.
Ваща беседа напомнила мне вопрос о выключателе. Почему он называется выключатель, ведь сначала надо включить?
shmuz
Согласен. Потому я и считаю этот разговор бессмысленным.
Согласен. Потому я и считаю этот разговор бессмысленным.
shmuz
Цитата:
Кратко и остроумно!
А меня вот эта дискуссия по вопросу соответствия/несоответствия натолкнула на мысль использовать несоответствие в практике применения макросов искусственно-специально-нарочно.
Дело в том, что мне всё хотелось сделать так, чтобы великолепные макросы Alexyz21 пользовательской сортировки с вводом Offset / Symbols и по весу атрибутов файлов проявлялись бы в кастомной секции меню "Критерий сортировки" сразу же после загрузки Фара и перезагрузки макросов, а не только после их первого вызова. А вносить существенные изменения в код этих макросов я, по крайней мере пока, не берусь — читаю то я его и то "со словарём".
И вот пришла мне в голову такая задумка. Сделать макрос загрузки сортировки лишь заявляющий об этом в меню как бы анонсно, но на самом деле порожний, пустой, без действительной загрузки. Чтобы потом, опираясь на создаваемую им в меню строку, можно было бы другими, подсобными, макросами осуществлять действительный вызов интересующих меня макросов. Подобное на сленге технологов называется "обвязка". Реализовал, вроде бы работает. Получился следующий "сервисный" блок из трёх макросов.
Код: local ffi = require "ffi"
local C = ffi.C
Panel.LoadCustomSortMode (109,
{ Description="по атрибутам и их сочетаниям (Alexyz21) CtrlShift8";
Compare = function(p1, p2)
--- return -- эмуляция загрузки сортировки
end; })
local RsmId="B8B6E1DA-4221-47D2-AB2E-9EC67D0DC1E3" -- гуид меню режимов сортировки файлов "Критерий сортировки"
Macro { description="В меню режимов сортировки файлов запустить сортировку по CtrlShift8";
area="Menu"; key="CtrlShift8";
condition=function() return Menu.Id==RsmId end;
action=function() Keys("Esc") eval("SortA109", 2); end; }
Macro { description="В меню режимов сортировки файлов запустить сортировку по Enter";
area="Menu"; key="Enter";
condition=function() return Menu.Id==RsmId and Menu.Value=="по атрибутам и их сочетаниям (Alexyz21) CtrlShift8" end;
action=function() Keys("Esc") eval("SortA109", 2); end; }
-- примечание: поле key базового макроса дополняется позицией SortA109
Цитата:
Ваша беседа напомнила мне …
Кратко и остроумно!
А меня вот эта дискуссия по вопросу соответствия/несоответствия натолкнула на мысль использовать несоответствие в практике применения макросов искусственно-специально-нарочно.
Дело в том, что мне всё хотелось сделать так, чтобы великолепные макросы Alexyz21 пользовательской сортировки с вводом Offset / Symbols и по весу атрибутов файлов проявлялись бы в кастомной секции меню "Критерий сортировки" сразу же после загрузки Фара и перезагрузки макросов, а не только после их первого вызова. А вносить существенные изменения в код этих макросов я, по крайней мере пока, не берусь — читаю то я его и то "со словарём".
И вот пришла мне в голову такая задумка. Сделать макрос загрузки сортировки лишь заявляющий об этом в меню как бы анонсно, но на самом деле порожний, пустой, без действительной загрузки. Чтобы потом, опираясь на создаваемую им в меню строку, можно было бы другими, подсобными, макросами осуществлять действительный вызов интересующих меня макросов. Подобное на сленге технологов называется "обвязка". Реализовал, вроде бы работает. Получился следующий "сервисный" блок из трёх макросов.
Код: local ffi = require "ffi"
local C = ffi.C
Panel.LoadCustomSortMode (109,
{ Description="по атрибутам и их сочетаниям (Alexyz21) CtrlShift8";
Compare = function(p1, p2)
--- return -- эмуляция загрузки сортировки
end; })
local RsmId="B8B6E1DA-4221-47D2-AB2E-9EC67D0DC1E3" -- гуид меню режимов сортировки файлов "Критерий сортировки"
Macro { description="В меню режимов сортировки файлов запустить сортировку по CtrlShift8";
area="Menu"; key="CtrlShift8";
condition=function() return Menu.Id==RsmId end;
action=function() Keys("Esc") eval("SortA109", 2); end; }
Macro { description="В меню режимов сортировки файлов запустить сортировку по Enter";
area="Menu"; key="Enter";
condition=function() return Menu.Id==RsmId and Menu.Value=="по атрибутам и их сочетаниям (Alexyz21) CtrlShift8" end;
action=function() Keys("Esc") eval("SortA109", 2); end; }
-- примечание: поле key базового макроса дополняется позицией SortA109
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
Предыдущая тема: оффтоп
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.