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

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

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

Maz (23-11-2017 18:57): FAR Manager (часть 5)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

AlViS



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

 
Предыдущие топики:  1 2 3
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
 
Общие сведения о совместимости 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, иначе плагин не будет загружен.

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

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

Всего записей: 2402 | Зарегистр. 03-01-2002 | Отправлено: 11:10 07-11-2015 | Исправлено: Victor_VG, 04:33 26-09-2017
YuS_two



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

Цитата:
Вы имеете ввиду лучше так:  
/^(?:(\d{5}.*?[\.,;] )|(\d{5}к2)|(\d{5}.*? ГОСТ (?!Р))|(\d{5}.*? ГОСТ Р))/i{!:$1$3$2$4}  
?  

Нет, так будет хуже, потому, что будут захватываться строго 5 цифр, не больше и не меньше... а если их будет больше или меньше в начале строки, то и совпадения не будет найдено.
Но со сверхжадностью, это я поторопился, в FAR-e, судя по хелпу, её просто нет, присутствуют только жадные и ленивые квантификаторы. Тогда можно и не забивать голову, т.к. выигрыша особого не будет, в данном случае... только если, визуально шаблон будет выглядеть чуть проще:

Код:
/^(?:(\d+.*?[\.,;] )|(\d+к2)|(\d+.*? ГОСТ (?!Р))|(\d+.*? ГОСТ Р))/i{!:$1$3$2$4}

 

Цитата:
Но там же 598 страниц.

Это да. Но вот и представьте, как упаковать такое количество информации в краткий хелп... задача не из простых. Лучше вписать туда рекомендации по изучению регулярных выражений, типа с чего начать, какую литературу поискать и т.п.  [/more]

Всего записей: 399 | Зарегистр. 28-03-2016 | Отправлено: 21:03 03-04-2016 | Исправлено: YuS_two, 21:05 03-04-2016
Angel_Ka



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

Цитата:
Код:
/^(?:(\d+.*?[\.,;] )|(\d+к2)|(\d+.*? ГОСТ (?!Р))|(\d+.*? ГОСТ Р))/i{!:$1$3$2$4}

Да, шаблон работает. БОЛЬШОЕ СПАСИБО за совет и пояснение к нему! Очень рад, ведь общеизвестно, что с применением наставлений освоение материала продвигается существенно быстрее.  
 
 
Добавлено:
И всё таки возник вопрос: если быть уверенным, что в начале имён файлов всегда строго 5 цифр, то ведь было бы предпочтительнее применять "{5}", а не "+" ?

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 21:49 03-04-2016 | Исправлено: Angel_Ka, 21:50 03-04-2016
Alexyz21



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

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 22:52 03-04-2016 | Исправлено: Alexyz21, 22:58 03-04-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Постараюсь завтра-послезавтра это организовать. На домашнем же микро-тесте мне кажется это вообще не имеет смысла, поскольку он дюже утрированный.  
 
Добавлено:
YuS_two
 
Вы навели меня на очень полезную мысль проверять наличие возможных ошибок — непятизначных чисел в начале имён файлов. И у меня получился следующий вполне работающий регэксп:
/^(?:(\d{5}.*?[\.,;] )|(\d{5}к2)|(\d{5}\D+ГОСТ (?!Р))|(\d{5}\D+ГОСТ Р)|(\d{1,4}\D)|(\d{5}\d+))/i{!:$6$5$1$3$2$4}

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 23:31 03-04-2016 | Исправлено: Angel_Ka, 23:35 03-04-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это ни к чему не обязывающее пожелание.
 
Shmuel
Странно в поиске на форуме не нашёл, а вроде бы уже спрашивал у вас, да за склерозом забыл ответ. - Почему нет метода gmatch?

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 23:42 03-04-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_two
 
Регэксп /^(?:(\d{5}.*?[\.,;] )|(\d{5}к2)|(\d{5}\D+ГОСТ (?!Р))|(\d{5}\D+ГОСТ Р)|(\d{1,4}\D)|(\d{5}\d+))/i{!:$6$5$1$3$2$4}, применённый в макросе Panel.CustomSortByName.lua, сортирует файлы в следующем порядке:
 
1) файлы, в начале имён которых больше 5 цифр;
2) файлы, в начале имён которых меньше 5 цифр;
3) файлы, в именах которых есть точки, запятые и точки с запятыми;
4) файлы, в именах которых есть слово ГОСТ без последующего Р;
5) файлы, в начале имён которых к начальным пятизначным числам вплотную примыкает метка "к2";
6) файлы, в именах которых есть метка ГОСТ Р.
 
Добавлено:
Alexyz21

Цитата:
Это ни к чему не обязывающее пожелание.

Но мне и самому это теперь интересно.  Попытаюсь сделать для начала так, как сам понимаю. А там видно будет. Если есть или будут конкретные виды, напишите. Даже если не смогу из-за занятости оперативно ответить, то прочитать смогу.

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 23:45 03-04-2016 | Исправлено: Angel_Ka, 23:56 03-04-2016
shmuz1

Редактировать | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Почему нет метода gmatch?

Функции, начинающиеся с "g" (т.е. "global") имеют внутренний цикл, и они внутри компилируют стринг-регексп до этого цикла. Поэтому метод особого выигрыша не даёт по сравнению с функцией. Метод gsub тоже можно было бы убрать.

Отправлено: 00:08 04-04-2016
YuS_two



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

Всего записей: 399 | Зарегистр. 28-03-2016 | Отправлено: 07:22 04-04-2016 | Исправлено: YuS_two, 07:41 04-04-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_two
БОЛЬШОЕ СПАСИБО за разъяснение! Иногда важно просто знать, что сделал правильно, без существенных ошибок. И тут без компетентных консультаций не обойтись. БЛАГОДАРЮ Вас за терпеливые наставления!
 
P.S. судя по приведённым Вами в последнем посте примерам, у профессиональных составителей регэкспов с упорством и юмором всё в порядке.

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 08:41 04-04-2016
shmuz1

Редактировать | Цитировать | Сообщить модератору
Коллеги, регекспы - очень интересная тема (постоянно и с удовольствием пользуюсь ими). Но этот раздел всё же предназначен для обсуждения Far Manager. Мне кажется офф-топик уже просто зашкаливает.

Отправлено: 08:54 04-04-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Да, увлеклись регекспами, особенно я, каюсь. Но ведь не преднамеренно же. А замечание shmuz1 вполне резонно, да и YuS_two ранее уже предполагал такое.  
 
Но и тему применения регэкспов желательно было бы не обрывать совсем. Поэтому нельзя ли попросить модераторов обособить те посты, которые касались регулярок, например в отдельную тему "Применение регулярных выражений в Far Manager"?
 

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 09:55 04-04-2016
Benchmark



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

Цитата:
Поэтому нельзя ли попросить модераторов обособить те посты, которые касались регулярок, например в отдельную тему "Применение регулярных выражений в Far Manager"?  

А кто мешает создать такую тему ? Модераторы тут вообще ни при чём.

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 14:56 04-04-2016
Angel_Ka



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

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 18:16 04-04-2016
Angel_Ka



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

Цитата:
А кто мешает создать такую тему ?

Персонально для меня есть некоторые непреодолимые объективные препятствия. Но был бы рад, если бы это сделал кто-то из заинтересованных лиц.
 

Цитата:
Модераторы тут вообще ни при чём.
 
Для создания новой темы, да. Но перенести отсюда в другую тему несколько постов, которые для данной ветки оффтопик, как же без модераторов то?  
 
 
 

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 22:28 04-04-2016
Victor_VG



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

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

Всего записей: 33224 | Зарегистр. 31-07-2002 | Отправлено: 22:30 04-04-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Понятно. Благодарю Вас за своевременную информацию!

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 23:03 04-04-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shmuel
В lua5.1.exe (Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio), коим пользовался до FAR3 и продолжаю пользоваться вне его, можно употреблять конструкции string:gmatch(pattern) - единообразие в синтаксисе для всех функций - это удобно.  
 
Почему в FAR3 используется compiled_pattern:func(string)? - Интуитивно я ожидал string:func(compiled_pattern или not_compiled_pattern).

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 10:43 05-04-2016
shmuz1

Редактировать | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Почему в FAR3 используется compiled_pattern:func(string)? - Интуитивно я ожидал string:func(compiled_pattern или not_compiled_pattern).

Есть разные причины для этого. Одна из причин - это использование одинаковых имён (например, "match") как для библиотеки string, так и для библиотеки regex. Кроме того, никто не запрещает подгрузить ещё и внешнюю библиотеку, например rex_pcre - там тоже есть метод match. Как Lua узнает, который match нужно вызвать, если метатаблица Lua-типа string определяет только "свой" match?
 
Сразу оговорюсь, что дискутировать это не буду.

Отправлено: 11:08 05-04-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Глянул тут плагин Creware FileVersionInfo - ну на первый взгляд интересен, но доработка нужна т.к.:
 
1) вариант для far3 конфликтует с FarHints что непредсказуемо вызывает AV в последнем;
2) замечен конфликт с FarColorer при просмотре Lua файлов приводящий к отключению
 последнего, при этом поймать условия возникновения ошибок сложно - ошибка может воспроизвестись на казалось бы ровном месте, а после удаления данного плагина воспроизвести её невозможно.
 
Т.к. управления и настроек у него нет, то звал его через скрипт:

Цитата:
local CVID="CC79335A-4CBB-4583-A5E8-6D68BE1628DF"
local CVMID="A5305211-C599-4C77-A263-9BC7644B1248"
 
Macro {
  description="Creware FileVersionInfo Plugin"; area="Shell View"; key="AltShiftV"; action=function()
   Plugin.Menu(CVID,CVMID)
  end;
}

на нём и сбой колорера получил. Из косметики - код выводит версии ОС для которой собран бинарник, но выше XP/2003 ОС не знает.
 
Что до 1) я считаю что первопричина ошибок в FarHints ибо он уже не раз становился причиной AV и сбоев иных плагинов и его давно пора бы доработать, в том числе и его модуль ТЕКСТ который с версией 1.20 не работает, а удобен тем, что позволяет быстро оценить интересен ли текст или не стоит время тратить.

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

Всего записей: 33224 | Зарегистр. 31-07-2002 | Отправлено: 18:19 05-04-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возился с последними билдами (4610/4611) и случайно вылезло что ArcLite из макроса просто так не вызвать - с Plugin.Menu зовётся только основное меню, а диалоги там не позвать, с Plugin.Call() то же не получилось. Можно проверить к примеру с таким скриптом:

Цитата:
local ALID="65642111-AA69-4B84-B4B8-9249579EC4FA"
local ALMID="7BCFBA0E-4EF5-466D-B5B9-23523459D6AF"
local lang=win.GetEnv("FarLang")
local ln1="/(English|German|Hungarian|Italian|Polish|Slovak|Ukrainian)/i";
local ln2="Spanish";
local ln3="Russian";
 
if lang == ln1 then local a1,a2,a3 = "C","E","T"
     else if lang == ln2 then local a1,a2,a3 = "C","E","";
       else local a1,a2,a3 = "С","Р","П"; end; end;
 
Macro {
  description="ArcLite: Main Menu"; area="Shell"; key="LAltC"; action=function()
   Plugin.Menu(ALID,ALMID)
  end;
}
 
Macro {
  description="ArcLite: Creat archive"; area="Shell"; key="LAltP"; action=function()
   Plugin.Call(ALID,a1) -- Plugin.Menu(ALID) Keys(a1)
  end;
}
 
Macro {
  description="ArcLite: Extract archive"; area="Shell"; key="LAltX"; action=function()
   Plugin.Call(ALID,a2) -- Plugin.Menu(ALID) Keys(a2)
  end;
}
Macro {
  description="ArcLite: Test archive"; area="Shell"; key="LAltT"; action=function()
   Plugin.Call(ALID,a3) -- Plugin.Menu(ALID) Keys(a3)
  end;
}

у меня пока только меню плагина зовётся.
 
 
Добавлено:
Интересное явление в Far b4611 и NetBox v2.2.2.434.
 
Посмотрел - с одной стороны панель сессий NetBox вроде должна допускать поиск, но то что мы видели - совсем не понятно очень бы хотелось без этого обойтись...

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

Всего записей: 33224 | Зарегистр. 31-07-2002 | Отправлено: 05:03 06-04-2016
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 4)
Maz (23-11-2017 18:57): FAR Manager (часть 5)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru