Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

Модерирует : gyra, Maz

Maz (15-01-2020 17:38): FAR Manager (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Предыдущие топики:  1 2 3 4
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2
Отличия FAR 2 от FAR 1.7
 
Примечания
 
* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

 
Принципиальные различия между hard link, symlink и junction
Как устранить взаимное влияние запущенных копий FAR в памяти
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
Патч для ansi-плагинов для хранения настроек плагинов в папке профиля, а не в реестре
Как распаковать UUE/XXE файлы патчей и использовать их?
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

Невыполнение этих правил ведёт к тому, что никто не станет помогать решать вашу задачу.

Всего записей: 39046 | Зарегистр. 26-02-2002 | Отправлено: 18:55 23-11-2017 | Исправлено: Victor_VG, 10:00 09-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz, 95% это, конечно, хорошо, но 5% дадут такую головную боль, что овчинка не будет стоить выделки.
 
Вы сами предупреждали насчёт используемого мною кода
Подробнее... - для наших скриптов вполне безопасно, но не для фривольных текстов.

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 10:33 23-08-2019 | Исправлено: Alexyz21, 10:39 23-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
95% это, конечно, хорошо, но 5% дадут такую головную боль, что овчинка не будет стоить выделки.

Плагин LF Search использует автодетекцию кодировки, близкую к той, которую использует Фар, поэтому возможно процент успеха будет выше 95%. Если же плагин ошибся в автодетекции (и при этом умудрился найти образец поиска), то и вывод плагином кодовой страницы в файл результатов не шибко поможет.
Это не значит, что я против вывода кодовой страницы, а только то, что для файлов без BOM'а гарантии успеха всё равно не будет.

Всего записей: 1888 | Зарегистр. 09-03-2012 | Отправлено: 10:54 23-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Плагин LF Search использует автодетекцию кодировки, близкую к той, которую использует Фар, поэтому возможно процент успеха будет выше 95%. Если же плагин ошибся в автодетекции (и при этом умудрился найти образец поиска), то и вывод плагином кодовой страницы в файл результатов не шибко поможет.  Это не значит, что я против вывода кодовой страницы, а только то, что для файлов без BOM'а гарантии успеха всё равно не будет.

Тогда да, согласен.

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 10:58 23-08-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Подробнее...  
Этот макрос у меня на файле другого тестового макроса выдаёт ошибку:

Цитата:
 LuaMacro  
...Macros\scripts\tst_lua\@test271_(G_grep(Alexyz21)edi.lua:18: attempt to call global 'GetFileName' (a nil value)
Stack Traceback

 
А не могли бы Вы сделать просто узкоспециализированный макрос, который детектил бы в key-полях lua-макросов наличие русских букв? И предпочтительно бы внешне, без загрузки макросов в редактор.  

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 11:23 23-08-2019 | Исправлено: citPiks, 11:25 23-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Этот макрос у меня на файле другого тестового макроса выдаёт ошибку:

Потому что это не полный макрос, а лишь кусок из него.
 

Цитата:
А не могли бы Вы сделать просто узкоспециализированный макрос, который детектил бы в key-полях lua-макросов наличие русских букв? И предпочтительно бы внешне, без загрузки макросов в редактор.  

Вы это сможете и сами - для этого даже макрос не нужен, достаточно грепа.  

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 11:35 23-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Alexyz21
 
Более того, на коротких текстах (до нескольких сотен символов) вероятность ошибки будет стремится к единице (смотрите причины в описании метода). Сам на этом в 84-м попадался когда пришлось делать программу корректировавшую кодировку и текст сообщений на ПТД ЕС-8378 - тексты шли со всех концов СЭВ-а, а операторы часто делали опечатки что вело к ошибкам счёта учитывая, что данные шли в IBM DCOI-8, EBCDIC и KOI-8. На больших текстах задача более-менее решалась, а на коротких - хоть святых выноси.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34084 | Зарегистр. 31-07-2002 | Отправлено: 11:40 23-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Интересно почему тогда бомы латиницей с кодировками не прижились? - Сам спросил, сам отвечу - возможно потому, что производители редакторов были, как правило, англоговорящими, и им это было не актуально.

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 11:49 23-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
citPiks
 
Задаём грепу в поле Искать регулярку (?:key=')\.+[А-Я,а-я] с режимом Far regexp или PCRE, PCRE2 (оное в принципе перловая каша, но и фар её уважает), ставим в диалоге поиска галку "Регулярное выражение" и вперёд за комсомолом. :
 

 
- макрос не нужен т.к. утилита grep умеет искать как с использованием собственного синтаксиса регулярных выражений так и PCRE grep, egrep, а в плагине LuaFAR Search утилита grep имеется...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34084 | Зарегистр. 31-07-2002 | Отправлено: 11:59 23-08-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
достаточно грепа

 
Однако, увы, кроме прочего, у меня проблемы с составлением регулярных выражений — ни знаний не достаточно, ни опыта практически ни какого.
 
Victor_VG
 
Большое спасибо за пример регулярки! Непосредственно в том виде она у меня не взлетела, а с небольшим изменением: (?:key=")+[А-Я,а-я] нашла аж 4 файла на которые я совсем не подумал бы.  
 

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 12:22 23-08-2019 | Исправлено: citPiks, 12:32 23-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Да, т.к. первые ОС были созданы в США ещё в 50-е, и понятно, что люди использовали свой родной язык, а о текстах на чужих языках тогда и не думали. Например в IBM OS/360 поддержка кириллицы так же далеко не сразу появилась, и довольно долго (лет пятнадцать) была нетривиальной задачей т.к. большинство программ работали только с латиницей т.к. официально (из-за поправки Джексона-Венника и ограничений КОКОМ) поставка в СССР и страны СЭВ-а ЭВМ Symens Nixdorf 4004 и IBM S/360 - S/390 до её отмены в конце 2000-х была запрещена законами США и аналогичными стран ЕС т.к. они запрещали поставки высокопроизводительных ЭВМ "странам, режимам и фирмам потенциально способные создать оружие массового поражения" (это кстати официальная формулировка Конгресса США). А потому эти комплексы попадали в СССР через "ре-экспорт" - машину покупала одна из стран Запада, через короткое время перепродавала её, а потом ВнешТорг СССР покупал её как "металлолом" в нейтральной стране. Иным способом в те временам обойти эти ограничения было не возможно, и та же IBM прекрасно этим механизмом пользовалась поставляя в СССР новейшие модели своих ЭВМ - "Русские делают механику лучше всех в мире, а мы ставим на неё свою электронику. И это всем выгодно и у КОКОМ нет оснований для вмешательства." (глава IBM, 1986 год, на выставке "Связь-86" в Москве).
 
citPiks
 
А режим регулярок какой стоял? Это синтаксис PCRE (Перл).
 
p.s.
 
fix typo

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34084 | Зарегистр. 31-07-2002 | Отправлено: 12:23 23-08-2019 | Исправлено: Victor_VG, 12:31 23-08-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG

Цитата:
А режим регулярок какой стоял?

Far regex

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 12:28 23-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RESearch Grep позволяет создать (открыть в редакторе) текстовой файл-подшивку, со строками, содержащими искомый текст.  
 
Макрос RESearch.Grep.lua позволяет:
1. Открыть в редакторе найденный файл из результата грепа с сохранением позиции
2. Внести изменения прямо в результат грепа и сохранить изменения в найденном файле
3. Внести изменения прямо в результат грепа и сохранить все изменения во всех найденных файлах
 
   
Если нажать AltG, то файл MacroBrowserAlt.lua будет открыт в редакторе и курсор будет установлен в данную позицию на hDlg.
 
Пример №2. RESearch Grep'ом с настройками:
Подробнее...
найден и открыт в редакторе текст:
Подробнее...
Мы хотим исправить одинарные кавычки на правильные буквы - редактируем прямо в найденном, жмём AltG, выбираем RESearch: Grep Save All - изменения будут внесены во все файлы.
 
Может быть использован Grep RESearch, либо Grep LFSearch с аналогичными настройками.
 
RESearch.Grep.lua

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 12:30 23-08-2019 | Исправлено: Alexyz21, 16:55 23-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
citPiks
 
А, вот опечатка, поправил регулярку - (?:key=)[',`,"].?[А-Я,а-я] - перед "." не должен стоять "\"  т.к. тогда значение этого символа "\." интерпретируется PCRE именно как символ "точка", а не как "произвольный символ, кроме переноса строки". А знак "?" после него говорит "один или более символов, не жадный" что минимизирует число захватываемых регуляркой символов уменьшая время её счёта и размер буфера в ОЗУ нужный для её обработки. В этой форме - (?:key=)[',`,"].?[А-Я,а-я] PCRE  корректно обработает любые кавычки после ключевого слова key - одиночные ( ` и ' ) и двойные ( " ) .

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34084 | Зарегистр. 31-07-2002 | Отправлено: 12:48 23-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Правильная маска: key=["'][^'"]*[А-ЯЁа-яё][^'"]*["'], а так ещё правильнее: key ?= ?(["'])[^'"]*[А-ЯЁа-яё][^'"]*\1

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 12:53 23-08-2019 | Исправлено: Alexyz21, 12:57 23-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Это можно и просто в LFS: Поиск и замена в панелях сделать задав регулярки поиска и замены. Сам этим часто пользуюсь - здорово экономит время, и нет нужны отправлять что-то в редактор поскольку утилита LFS: Поиск и замена работает значительно быстрее цепочки "поиск файла - загрузка его в редактор - модификация - запись - обновление списка поиска".

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34084 | Зарегистр. 31-07-2002 | Отправлено: 12:57 23-08-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG

Цитата:
(?:key=)[',`,"].?[А-Я,а-я]

Спасибо! У меня находит 5 файлов.  
 
Alexyz21

Цитата:
key ?= ?(["'])[^'"]*[А-ЯЁа-яё][^'"]*\1

Тоже спасибо! И тоже находит те же 5 файлов.
 
Какие разные по виду выражения, а результат одинаковый. Надо будет испытать на бОльшем количестве макросов.

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 13:14 23-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообще-то все ранее данные нами варианты ищут от "забора и до упада" - от первого символа в строке и до её конца, а нам нужно только "от и до". Посему вот точная регулярка учитывающая в т.ч. и букву "Ё" т.к. использует локаль ОС для её поиска где она есть "из коробки", а потому нам не требуется отдельно указывать её в регулярках:  
 
(?:key=)[',`,"].?[А-Я,а-я].?[`,'."]
 
то же только что у себя в default.farconfig поймал спутанный хоткей "c" (лат. "си") - "с" (рус. "с"). Значит и его исправлю.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34084 | Зарегистр. 31-07-2002 | Отправлено: 13:15 23-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG - зачем? Когда можно всё исправить прямо в листинге и выбрать сохранить всё - изменения будут внесены во все файлы разом. К тому же видно, что и где правишь, а не в слепую позаменять непонятно что.  
 
 
Добавлено:
citPiks, запятая не нужна, key может быть отделён пробелом, а может и нет и тд. Просто у вас малый набор опытных образцов.

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 13:15 23-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Поставь [x] "Подтверждать замену" в утилите и всё видно. Просто у тебя свои приёмы работы, у меня свои. Достаточно сказать утилите "Заменять во всех файлах" и она молча всё заменит.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34084 | Зарегистр. 31-07-2002 | Отправлено: 13:28 23-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, во-первых, так можно заменить только на что-то одно, во-вторых, видно лишь одну строку, что не во всех случаях достаточно, иногда нужно видеть окружающий код, чтобы понимать, что там происходит. Например нужна не латинская С, а кириллическая, но по одной строке это не понять - так можно много чего "наменять", особенно по таким мегамаскам какие вы пишите.

Всего записей: 3658 | Зарегистр. 16-06-2007 | Отправлено: 13:37 23-08-2019 | Исправлено: Alexyz21, 13:40 23-08-2019
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)
Maz (15-01-2020 17:38): FAR Manager (часть 6)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru