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

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

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

Цитата:
а разве сейчас на бранч-панели одноимённые не группируются вместе, независимо от папки-родителя?

Речь, видимо, не о "группировке вместе", а о том, что все дубликаты должны быть выше/ниже в панели, чем все не-дубликаты. При нынешней системе кастомной сортировки это сделать невозможно, но идея интересная, надо будет подумать.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 19:33 01-05-2016 | Исправлено: shmuz2, 19:34 01-05-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда скорее все имеющие дубликаты, а не просто дубликаты, иначе поди пойми, какой из них оригинал.

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 19:38 01-05-2016
shmuz2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Под дубликатом я здесь подразумеваю любой файл, имеющий хотя бы один одноимённый. То-есть, если есть 2 одноимённых файла, то я называю каждый из них дубликатом.

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



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

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 19:49 01-05-2016
shmuz2

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

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



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

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 19:57 01-05-2016
Angel_Ka



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

Цитата:
а разве сейчас на бранч-панели одноимённые не группируются вместе, независимо от папки-родителя?

Да, группируются, но где то внутри ста, к примеру, тысяч файлов. Вот и иди, ищи, свищи — имена то ведь их заранее не известны. Поэтому и надо бы их поднять наверх (или опустить вниз).  
Впрочем, возможно, данный Вами ранее совет присмотреться к фильтрам в этом случае может быть как раз кстати.
 

Цитата:
Добавил комменты

Попробовал, но, видимо, не понял сути системы их оформления.  
Как, например, добавить комментарий к такому регексу:
Код:
/^(?:(\d{5}.*?[\.,;] )|(\d{5}к2)|(\d{5}\D+ГОСТ (?!Р))|(\d{5}\D+ГОСТ Р)|(\d{,4}\D)|(\d{5}\d+))/i{!:$6$5$1$3$2$4}
?
 
 

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
F4 (открывается редактор, в нём на 1-й строке регэксп) вставляем в начало -- комментарий, жмём Enter, перенося регэксп на 2-ю строку.

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 20:04 01-05-2016 | Исправлено: Alexyz21, 20:13 01-05-2016
Angel_Ka



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

Цитата:
Впрочем, возможно, данный Вами ранее совет присмотреться к фильтрам в этом случае может быть как раз кстати.

И всё же нет — очевидно желательна именно сортировка. Из-за незнания имён не понятно что фильтровать.

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



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

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 20:08 01-05-2016 | Исправлено: Alexyz21, 20:17 01-05-2016
Angel_Ka



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

Цитата:
F4 (открывается редактор, в нём на 1-й строке регэксп) вставляем в начало -- комментарий, жмём Enter, перенося регэксп на 2-ю строку.

Понял, убрал вмешивавшийся макрос, и получилось. Между комментарием и регексом вставляются 2 знака — чёрная нота на светлом фоне: "♪" (Alt-13 ) и большой светлый круг на тёмном фоне: "◙" (Alt-10).
 
Очень удобно! БОЛЬШОЕ СПАСИБО!
 
Добавлено:
Alexyz21

Цитата:
а дубликаты замочить

А вот этого, пожалуйста, не надо. Пусть будут.  
 
Когда мы их выделим, то чуток переименуем, добавив в их имена спецмаркеры, и всё. А переименовывать их удобнее и быстрее группой. Причём связанной со всем набором. Поэтому, однако, хорошо бы всё же сортировку.
 

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 20:32 01-05-2016 | Исправлено: Angel_Ka, 20:40 01-05-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, этими символами обозначаются 0D0Ah (\r\n) возврат каретки и перевод строки.
 
Переименовать можно вставив в начало !!! - тогда они будут наверху при сортировке.

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 20:39 01-05-2016 | Исправлено: Alexyz21, 20:41 01-05-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
СПАСИБО за подтверждение! Мне было нужно убедиться, что всё правильно.
И ещё раз БЛАГОДАРЮ Вас за прекрасный макрос пользовательской сортировки Panel.CustomSortByName.lua и за помощь в его освоении!  
 
 
Добавлено:

Цитата:
Переименовать можно вставив в начало !!! - тогда они будут наверху при сортировке.

Проблема в том, что имена их заранее не известны, и сначала их нужно быстро отсортировать не отделяя от остальных, оставляя их в "родных" папках. Затем их нужно уникально маркировать, не сильно, при этом, изменяя их имена. А уж маркированными то они потом уже будут быстро и находиться, и сортироваться, и т.п.  
 
И всё это с учётом того, что очень может быть несколько (а, возможно, и несколько десятков) групп одноимённых файлов в каждом из наборов, и смешивать их нельзя.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz2
Нужно ли в regex экранировать минусы? Или их экранировка нужна только внутри [] класса? Попробовал вне класса, работает и без бэкслэшей.

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 21:15 01-05-2016
shmuz2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Только внутри [] класса. Вне класса - можно, но не обязательно.

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



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

Код:
Macro {
description="Select Duplicates FileName in Branch panel"; name="SDFN"; area="Shell";
action=function()
  local fn0,fn1 = "",""
  for i=1,panel.GetPanelInfo(nil,1).ItemsNumber do
    fn0,fn1 = fn1,regex.match(panel.GetPanelItem(nil,1,i).FileName,"[^\\\\]+$")
    if fn1==fn0 then panel.SetSelection(nil,1,{i-1,i},true) end
  end
  msgbox("SDFN","Use ShiftF12 for sort")
end;
}

"Поднять" выделенные - ShiftF12.

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



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

Цитата:
description="Select Duplicates FileName in Branch panel";

Абсолютно именно то, что нужно! Сказочно замечательно! БОЛЬШОЕ СПАСИБО!

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 06:54 02-05-2016 | Исправлено: Angel_Ka, 07:00 02-05-2016
Alexyz21



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

Код:
Macro {
description="Select Duplicates FileName in Branch panel"; name="SDFN"; area="Shell";
action=function()
  local t0,fn0,fn1 = far.FarClock(),"",""
  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
  msgbox("SDFN","mcs: "..far.FarClock()-t0.."\n\nUse ShiftF12 for sort")
end;
}
 

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
А можно этот макрос преобразовать в функцию для Panel.CustomSortByName.lua?
А то я попробовал прямолинейно так:
Код:
local fn0,fn1 = "","" for i=1,panel.GetPanelInfo(nil,1).ItemsNumber do fn0,fn1 = fn1,regex.match(panel.GetPanelItem(nil,1,i).FileName,"[^\\\\]+$") if fn1==fn0 then panel.SetSelection(nil,1,{i-1,i},true) end end
И она работает, но, в отличие от макроса, выдаёт ошибку типа:
Цитата:
Error
 
W:\Far\Plugins\luamacro\LuaMacro.dll:
W:\Far\Plugins\luamacro\panelsort.lua:283: attempt to compare nil with number
Stack Traceback
===============
(2) metamethod C function '__lt'
(3) Lua local 'before' at file 'W:\Far\Plugins\luamacro\panelsort.lua:283'
   Local variables:
    n1 = number: 59
    n2 = number: 11
    r = nil
    (*temporary) = number: 0
    (*temporary) = string: "Технология клееных материалов и древесных плит, Юрова О.В., Кочева М.Н., 2010.txt"
    (*temporary) = string: "Технология соединения материалов и деталей в производстве изделий из древесины, Юрова О.В.,2010"
    (*temporary) = number: 1
    (*temporary) = number: 527393
    (*temporary) = userdata: 0x09a6d0d0
    (*temporary) = userdata: 0x0a0017f0
    (*temporary) = string: "attempt to compare nil with number"
(4) Lua upvalue 'shellsort' at file 'W:\Far\Plugins\luamacro\panelsort.lua:30'
   Local variables:
    n = number: 98
    before = Lua function 'Before' (defined at line 247 of chunk W:\Far\Plugins\luamacro\panelsort.lua)
    (for generator) = C function: builtin#6
    (for state) = table: 0x099f4840  {1:1391376, 2:463792, 3:198768, 4:86961, 5:33936, 6:13776, 7:4592, 8:1968 (more...)}
    (for control) = number: 12
    _ = number: 12
    h = number: 48
    (for index) = number: 59
    (for limit) = number: 97
    (for step) = number: 1
    i = number: 59
    v = number: 59
    (for index) = number: 11
    (for limit) = number: 0
    (for step) = number: -48
    j = number: 11
 
OK

 
Добавлено:
Alexyz21

Цитата:
Такой вариант шустрее:

Да. И он прекрасно работает. БОЛЬШОЕ СПАСИБО!
 
 
Добавлено:
Новый вариант макроса при попытке применить его в качестве функции в Panel.CustomSortByName.lua выдаёт ту же ошибку, что и прежний.

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



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

Цитата:
А можно этот макрос преобразовать в функцию для Panel.CustomSortByName.lua?

Нет. Это отдельный макрос и он к Panel.CustomSortByName.lua не имеет отношения.

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 09:30 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