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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Ладно. Приспособлюсь.
 
Новый вариант макроса в 2,5 раза быстрее прежнего.  
Ещё раз БЛАГОДАРЮ Вас за помощь!

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



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

Цитата:
Новый вариант макроса в 2,5 раза быстрее прежнего

а в абсолютных значениях приемлемо? как соотносится с сортировкой?

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 10:02 02-05-2016 | Исправлено: Alexyz21, 10:05 02-05-2016
Angel_Ka



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

Цитата:
а в абсолютных значениях приемлемо?

По сравнению с имевшими место вариантами утилит — более чем приемлемо.  
 

Цитата:
как соотносится с сортировкой?

Судя по имеющимся домашним микротестам, хорошо соотносится, с учётом вышеизложенного. Точнее смогу ответить после 10 мая. Но, полагаю, что и там всё будет отлично.  
 
ОГРОМНОЕ СПАСИБО за очень полезный макрос выделения дубликатов файлов на бранч-панели Select Duplicates FileName in Branch panel!

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Приспособил твой сортировщик к делу - Shell_Branch.lua:
 

Цитата:
-- Макрос модифицирован с использованием скрипта сортировки
-- от Alexyz21 http://forum.ru-board.com/topic.cgi?forum=5&topic=48136&start=1200#19
-- из которого выкинута измерительная часть за ненужностью. Он строит на Временной
-- панели Far дерево каталогов и сортирует похожие по именам файлы вместе. Сработает
-- только если не существует плагин TRUE-Branch - так задумано, вызов AltShiftB.
--
-- v1.1 от Mon May 02 10:56:50 +0300 2016
-- v1.2 - выкинем случайно оставшийся far.FarClock() - Mon May 02 11:21:07 +0300 2016
--
local TBID="148FE5E0-7129-4269-B30F-A1A866DD009A"
Macro {
  description="DirTree branch"; flags="EnableOutput";
  area="Shell"; key="AltShiftB";
  uid="E567C945-6F38-4517-BCD2-DD2C58EC3618";
  condition=function() if (Plugin.Exist(TBID)~=1) then return true else return false end end;
  action=function()
    Keys"AltF7"
    if not Area.Dialog then return end
    Keys"* Enter"
    local lastitem = Dlg.ItemCount
    local STOP_BUTTON = Dlg.GetValue(lastitem)
    far.Timer(50,function(timer)
      if not Area.Dialog then
        timer:Close()
      elseif Dlg.GetValue(lastitem)~=STOP_BUTTON then
        timer:Close()
        Dlg.SetFocus(lastitem-1)
        far.MacroPost[[Keys ("Enter")]]
      end
    end)
      local fn0,fn1 = "",""
      for i=1,panel.GetPanelInfo(nil,1).ItemsNumber do
       fn0,fn1 = fn1,string.match(panel.GetPanelItem(nil,1,i).FileName,"[^\\\\]+$")
       if fn1==fn0 then panel.SetSelection(nil,1,{i-1,i},true) end
      end;
  end;
}

функция очистки временной панели не вставлена специально чтобы человек успел разобраться с "уловом", в принципе добавить её не сложно, но надо ли? Вроде нажать * F7 на временной панели не сложно.  
 
P.S.
 
far.FarClock() убран - случайно остался

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 11:08 02-05-2016 | Исправлено: VictorVG4, 11:24 02-05-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Судя по всему его можно ускорить раза в 2, используя ffi и FAR API, но в этих структурах чёрт ногу сломит.
 
Добавлено:

Цитата:
local fn0,fn1 = far.FarClock(),""

local fn0,fn1 = "",""

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 11:08 02-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Факт, ускорить можно, но FFI в какой-то степени зависит от системного API, а что редмондские студиозусы там завтра выкинут и сам рогатый не скажет. Сегодняшняя реализация скрипта по крайней мере предсказуема и не зависит от реализации сторонних по отношению к Far функций, а это может оказаться критичным.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 11:15 02-05-2016
Alexyz21



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

Цитата:
Приспособил твой сортировщик

Он не сортировщик - он выделяльщик

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 11:20 02-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
За подсказки спасибо! far.FarClock() случайно оставил , поправил. Ну а сортировщик - выделяльщик ты прав, но в данном случае он выполняет простую задачу - упрощает поиск элементов с похожими именами, а дальше пусть человек принимает решение.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 11:28 02-05-2016
Alexyz21



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

Цитата:
и сортирует похожие по именам файлы вместе

Не-а. Он выделяет идентичные имена файлов, что возможно только на Branch панели и которая к тому же должна быть отсортирована по имени ДО применения макроса.

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 11:33 02-05-2016 | Исправлено: Alexyz21, 11:35 02-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Видел, просто скрипт Shell_Branch.lua у меня лежал в запасе и использовался раз в год по обещанию для тестов, а тут знакомые попросили включить, вот заодно и чуть его проапдейтил - condition() в первоначальном варианте не было и твой фрагмент им до кучи - пусть в командировке развлекаются.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 12:00 02-05-2016
Alexyz21



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

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 13:01 02-05-2016 | Исправлено: Alexyz21, 13:07 02-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Это им на закуску - пусть возятся. На деле нужен только блок строящий дерево на временной панели и кондитион, а остальное из рабочего скрипта убрано. Правда есть идея, но покуда нет времени её реализовать. М.б. позднее если потребуется?
 
Добавлено:
Посмотрел на b4656 M#3227 - у меня работает, ошибка воспроизводилась на b4655, на b4656 ушла.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 13:23 02-05-2016 | Исправлено: VictorVG4, 13:34 02-05-2016
Angel_Ka



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

Цитата:
а в абсолютных значениях приемлемо? как соотносится с сортировкой?
 
Сделал 3 теста на подручном материале.  
 
В микротесте на 3 МБ 325 файлов выделяльщик работал быстрее сортировщика в 30 раз.  
 
В тесте на 1,5 ГБ 18 тыс. файлов выделяльщик работал быстрее сортировщика в 9 раз.  
 
В тесте на 212 ГБ 715 тыс. файлов выделяльщик работал медленнее сортировщика в 11 раз.  
 
В последнем тесте, который ближе всего к "полевым" условиям, SDFN обрабатывал данную панель более 4 000 000 000 mcs, т.е. дольше часа. В моём случае это всё равно весьма приемлемо. Но, всё же, по возможности, неплохо было бы и ускориться.  

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Ka
С ускорением сможет помочь только Shmuel, я пробовал сделать на FAR API с FFI, но не смог.

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 14:09 02-05-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Это не к спеху. Даже и без дополнительного ускорения для меня Ваш макрос SDFN очень полезен и удобен. Ёщё раз низкий поклон Вам от меня за него!
 
shmuz2
Цитата:
С ускорением сможет помочь только Shmuel

А что Вы на это скажете, уважаемый shmuz2?

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 14:28 02-05-2016 | Исправлено: Angel_Ka, 15:05 02-05-2016
shmuz2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Ka
Загрузка на работе сейчас велика. Может быть приготовлю какой-то отдельный небольшой пример использования regex-ов посредством FFI, но на что-то большее времени однозначно нет.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 15:52 02-05-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz2
Разве проблема не в panel.GetPanelItem(nil,1,i).FileName?

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 16:22 02-05-2016
shmuz2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Видимо я не понял, о чём речь - думал, что всё ещё про регексы через FFI.
А по данному макросу мне нечего сказать - не вникал ещё.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 16:32 02-05-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
От регексов через FFI мы не отказываемся, если чо

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 16:37 02-05-2016
Angel_Ka



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

Цитата:
на что-то большее времени однозначно нет

Не торопитесь, пожалуйста, делайте основательно. А мы уж потом с удовольствием употребим Ваши улучшения. Удач Вам к нашей общей пользе!

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 17:18 02-05-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