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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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, не удалось, то задаёте вопрос разработчикам.

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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Far Manager v3.0 build 5445 (2019-08-07)

Всего записей: 1647 | Зарегистр. 12-04-2012 | Отправлено: 14:03 07-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
 
Сортировки файлов в панели:
1. С вводом Offset при нажатии шорката, если вместо ввода числа нажать Enter, то будет использовано прежнее значение. Стартовое значение (по умолчанию) 0, т.е. обычная сортировка по имени.
2. C вводом Symbols аналогично п.1, значение по умолчанию "-_ ".
п.1 и п.2 с игнорированием символов - игнорируется то, что Майкрософт считает символами.
3. По группе цифр в имени файла с поиском в прямом, либо обратном направлении.
4. По подстроке, захваченной регэкспом. Регэкспы можно комментировать, в этом случае первую строку начинаем с -- (2-х минусов), далее комментарий, затем перевод строки и на второй строке пишем сам регэксп. Порядок сортировки можно изменить, добавив в конец регэкспа конструкцию {!:...}, где вместо ... указываем порядок возврата захваченных групп, например {!:$3$2$1}. Для поиска каждой группы по всей строке вне зависимости от их позиции, используется конструкция {?:pat1}{?:pat2}{?:pat3}{!:$3$2$1}, где patN - характерный паттерн группы, захватывается первый совпавший.
5. По функции пользователя. Примеры:
[x] Offset=0  
[x] Func
by BOM
by FullPath length
by FileName length
by level Folder
 
Рапорт позволяет оценить количество вызовов функции сравнения и затраченное время для различных режимов сортировки и их настроек.
 
Быстрая помощь по назначению поля диалога доступна по F1.
 
Panel.CustomSortByName.lua
 
   
 
Panel.CustomSortByAttributes.lua

Всего записей: 3488 | Зарегистр. 16-06-2007 | Отправлено: 15:56 07-08-2019 | Исправлено: Alexyz21, 21:29 30-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Так согласно FAQ Q: When a BOM is used, is it only in 16-bit Unicode text? к Version 12.1 of the Unicode Standard BOM имеет разные значения для UTF-8, UTF-16 BE, UTF-16 LE, UTF-32, UTF-32 BE и UTF-32 LE:
 
Байты BOM Формат кодирования    
00 00 FE FF UTF-32 BE    
FF FE 00 00 UTF-32 LE    
FE FF UTF-16 BE    
FFFE UTF-16 LE    
EF BB BF UTF-8

 
И там же, чуть ниже дан ответ на вопрос об обязательности BOM для UTF-8:

Цитата:
Q: Can a UTF-8 data stream contain the BOM character (in UTF-8 form)? If yes, then can I still assume the remaining UTF-8 bytes are in big-endian order?
 
A: Yes, UTF-8 can contain a BOM. However, it makes no difference as to the endianness of the byte stream. UTF-8 always has the same byte order. An initial BOM is only used as a signature — an indication that an otherwise unmarked text file is in UTF-8. Note that some recipients of UTF-8 encoded data do not expect a BOM. Where UTF-8 is used transparently in 8-bit environments, the use of a BOM will interfere with any protocol or file format that expects specific ASCII characters at the beginning, such as the use of "#!" of at the beginning of Unix shell scripts.

перевод:

Цитата:
Вопрос: Может ли поток данных UTF-8 содержать символ BOM (в форме UTF-8)? Если да, то могу ли я предположить, что оставшиеся байты UTF-8 имеют прямой порядок байтов?
 
A: Да, UTF-8 может содержать BOM. Тем не менее, его использование не обязательно. UTF-8 всегда имеет один и тот же порядок байтов. Первоначально BOM используется только в качестве подписи - признак того, что текстовый файл без опознавательных знаков кодирован в UTF-8. Обратите внимание, что некоторые получатели данных в кодировке UTF-8 не ожидают BOM. Там, где UTF-8 прозрачно используется в 8-битных средах, использование BOM будет мешать любому протоколу или формату файла, которые ожидают определенных символов ASCII в начале, например, использование "#!" в начале сценариев оболочки Unix.


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

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



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

Цитата:
с помощью макросов или плагинов ... написать должно быть не особо сложно

Не сложно лишь для тех, кто уже освоил макросы. Я же попытался поёрзать, но пока что ни чего толкового не получается. Про плагины в таком случае вообще молчу, т.к. даже не представляю что нужно указывать критерием поиска в действующих плагинах, чтобы найти файлы с БОМ.
 

Цитата:
Как показать наличие BOM и его тип в контент-колонке?
— за подсказку спасибо! Для начала попробую контент-колонку в принципе.  
 
 
Alexyz21
За Panel.CustomSortByName.lua очень благодарен. Мощная машина! С наскока примеры функций by FullPath length и by FileName length получились вполне показательно.  
 
А вот про применение функции by level Folder я что-то не понял: ведь если сортировать в конкретной папке, то вложенность будет одна и та же. Или же речь идёт о временной панели или бранче?
 
И с функцией by BOM вообще ни чего не получается. Никак. Ни в том, ни в обратном направлениях. Как установлю через сортировку по имени так файлы и стоят, на сортировку by BOM не реагируют. Поменяю направление сортировки по имени и всё равно тоже самое — ни какой реакции на функцию by BOM.
 
 

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



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

Цитата:
речь идёт о временной панели или бранче?

да
 

Цитата:
с функцией by BOM вообще ни чего не получается. Никак.

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

Всего записей: 3488 | Зарегистр. 16-06-2007 | Отправлено: 19:27 07-08-2019 | Исправлено: Alexyz21, 19:28 07-08-2019
shmuz

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

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

Естественно, имелось в виду "не особо сложно" для имеющих опыт в написании макросов/плагинов. Мне бы, наверное, хватило полдня-день на все 4 задачи, но увы, сейчас этого времени нет.
Насчёт плагинов - речь шла не о действующих, а о гипотетических, которые можно написать (как и о макросах).

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 20:22 07-08-2019
Alexyz21



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

Код:
-- by BOM
local function bom(fp)
  local res,efbbbf,fffe,feff,ffi = 0,'\239\187\191','\255\254','\254\255',require'ffi'
  local f=win.WideCharToMultiByte(ffi.string(fp,tonumber(ffi.C.wcslen(fp))*2),65001)
  local h=io.open(f,"rb")
  if h then  
    local s=h:read(3) or '' h:close()
    if s==efbbbf then res=3 else s=string.sub(s,1,2) if s==fffe then res=2 elseif s==feff then res=1 end end
  end
  return res
end
return bom(_G.sFuncTbl.fp1)-bom(_G.sFuncTbl.fp2)

fp<=p1.FileName

Всего записей: 3488 | Зарегистр. 16-06-2007 | Отправлено: 20:58 07-08-2019 | Исправлено: Alexyz21, 20:59 07-08-2019
shmuz

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

Цитата:
Работает правильно, но может сделаете оптимальнее?  

If it ain't broken don't fix it (цитирую по памяти).

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 21:05 07-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сортирует как надо, но мне не нравится, что приходится конвертировать полные пути из UTF-16 LE в UTF-8 для чтения первых 3-х байтов из файлов, поскольку для чтения используется lua io.open() с последующим read(3).

Всего записей: 3488 | Зарегистр. 16-06-2007 | Отправлено: 21:09 07-08-2019 | Исправлено: Alexyz21, 21:11 07-08-2019
shmuz

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

Цитата:
мне не нравится, что приходится конвертировать полные пути из UTF-16 LE в UTF-8 для чтения первых 3-х байтов из файлов

Раз уж используете ffi, то есть функции _wfopen, fread, fclose - тогда не понадобится преобразование.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 21:17 07-08-2019
Alexyz21



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

Всего записей: 3488 | Зарегистр. 16-06-2007 | Отправлено: 21:38 07-08-2019
shmuz

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

Цитата:
и как их присобачить?

С помощью ffi.cdef, как все функции присобачиваются в ffi.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 21:43 07-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Оказывается Вы когда-то раньше писали для ffi_hex, обнаружил на каком-то левом сайте ) http://board4520.rssing.com/chan-64143330/all_p8650.html
 
Посмотрел, разобрался:

Код:
-- by BOM ffi
local ffi = require'ffi'
local C = ffi.C
ffi.cdef[[
  typedef struct { int a; } FILE;
  size_t fread(void*,size_t,size_t,FILE*);
  FILE* _wfopen(const wchar_t*, const wchar_t*);
  int fclose(FILE*);
]]
 
local function bom(fp)
  local res,mode_in = 0,"\114\0\98\0\0" -- "rb" UTF-16LE..'\0'
  local f_in=assert(C._wfopen(ffi.cast("wchar_t*",fp),ffi.cast("wchar_t*",mode_in)))
  local ibuf=ffi.new("unsigned char[?]",0x03)
  local n=tonumber(C.fread(ibuf,1,ffi.sizeof(ibuf),f_in))
  C.fclose(f_in)
  if n==3 and tonumber(ibuf[0])==0xef and tonumber(ibuf[1])==0xbb and tonumber(ibuf[2])==0xbf then res=3
  elseif n>=2 and tonumber(ibuf[0])==0xff and tonumber(ibuf[1])==0xfe then res=2
  elseif n>=2 and tonumber(ibuf[0])==0xfe and tonumber(ibuf[1])==0xff then res=1
  end
  return res
end
return bom(_G.sFuncTbl.fp1)-bom(_G.sFuncTbl.fp2)

 
Но assert() не особо у нас ассертистый - от падений не защищает, например в C:\.

Всего записей: 3488 | Зарегистр. 16-06-2007 | Отправлено: 22:02 07-08-2019 | Исправлено: Alexyz21, 09:04 08-08-2019
citPiks



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

Цитата:
Работает правильно

Да, этот вариант функции в Panel.CustomSortByName.lua исправно работает. Спасибо!
 
Посмотрел также Panel.CustomSortByAttributes.lua — замечательный макрос, по-моему. Даже не припомню где ещё такая полезная функциональность имеется как сортировка по атрибутам. И, кстати, было бы хорошо, если бы Вы сочли возможным сортировку по BOM привинтить и в него. Во-первых, имхо, наличие BOM содержательно очень похоже на особый вид атрибута файла. Во-вторых указывать сортировку удобнее через крыжик, чем через копипасту функции. И, в-третьих, возможно Вы захотите дополнить макрос добавленной недавно в Фар обработкой дополнительных атрибутов, и тогда наверняка сподручно будет одновременно и BOM`ами макрос расширить.

Всего записей: 373 | Зарегистр. 26-06-2016 | Отправлено: 22:16 07-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
1. У меня нет особого желания разбираться в ваших скриптах, своих дел навалом. И вы вполне способны разобраться сами.
2. Не думаю, что участникам форума сильно интересны эти технические детали.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 22:30 07-08-2019 | Исправлено: shmuz, 22:32 07-08-2019
Tiikker



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чота вдруг меня заплющило... А ваще откуда пошло название Far? Файловый АрхиватоР понятно было бы.. )) Но сабж намного развитее, чем простой архиватор.. )) Эт я пивка хлебнул.. и задумался..

Всего записей: 956 | Зарегистр. 05-06-2018 | Отправлено: 22:53 07-08-2019
vvms

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

Цитата:
А ваще откуда пошло название Far?

 
А есть открыть официальный сайт farmanager.com?
Слева верху изображение: FAR Manager - File and Archive Manager.

Всего записей: 83 | Зарегистр. 12-11-2006 | Отправлено: 23:14 07-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b5447 Git-d4928e6a1 - факт, отображение размеров в меню дисков (Ctrl-5) поправлено.
 
Tiikker
 
Волшебное - F1
 


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

Всего записей: 33240 | Зарегистр. 31-07-2002 | Отправлено: 01:53 08-08-2019
Tiikker



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, точно! File And aRchive..

Всего записей: 956 | Зарегистр. 05-06-2018 | Отправлено: 06:10 08-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Panel.CustomSortByAttributes.lua на предыдущей странице обновлён под текущий FAR3 с PINNED/UNPINNED.

Всего записей: 3488 | Зарегистр. 16-06-2007 | Отправлено: 11:40 08-08-2019 | Исправлено: Alexyz21, 11:41 08-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