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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

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, не удалось, то задаёте вопрос разработчикам.

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

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



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

Цитата:
на 105-й поправил имя переменной

 
Теперь вариант макроса от 15:52 06-08-2019 и на моём материале работает так как надо, и на файлах тест-пакета от VG предотвращает падение Фара.
 
 

Всего записей: 264 | Зарегистр. 26-06-2016 | Отправлено: 16:31 06-08-2019
Victor_VG



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

Цитата:
Разгадка в том, что вьювер в режиме HEX-просмотра неправильно показывает BOM UTF-16LE (переставляет 1-й и 2-й байты). Похоже, это баг вьювера.

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

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

Всего записей: 24246 | Зарегистр. 31-07-2002 | Отправлено: 17:42 06-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А я пару раз в hiew смотрел на эти 2 байта и не заметил - поздно голова не варит и глаза устают. А на падение при сравнении EFBBBFxx..xx и какой-нибудь другой пустышки напороться можно, как я понимаю, что не считается корректным UTF8, то считается пустышкой, а это падение при сравнени с другой пустышкой.

Всего записей: 1806 | Зарегистр. 16-06-2007 | Отправлено: 17:52 06-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
Да, контрольное сравнение скриншотов "view - hex editor" подтверждает данный факт:  
 
фар-й вьюевер в режиме хекс-просмотра изменяет порядок байтов в UNICODE BOM - вместо 0xFFFE показывает 0xFEFF :
 


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

Всего записей: 24246 | Зарегистр. 31-07-2002 | Отправлено: 17:54 06-08-2019
shmuz

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

Всего записей: 1051 | Зарегистр. 09-03-2012 | Отправлено: 17:56 06-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Стандартом UNICODE допускается две формы кодировки UTF-8 - с UCS2 (0EFBBBF) обеспечивающая автоматическое распознавание UTF-8 и корректное декодирование текстов на произвольных однобайтных алфавитных языках, и второй вариант без использования маркера UCS2 в первых трёх байтах файла. Второй рекомендуется для основанных на латинице языках, а для остальных пользователю придётся вручную выбирать кодировку UTF-8. Ну а раз есть две формы стандарта, а программы пишут люди которые обычно выбирают то, что им проще использовать, а англоязычным товарищам возня с обработкой UCS2 не нужна и они её выкинули не думая что это после вылезет на других языках...

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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
объяснение драконыча прочёл, но вот испокон веков от XT считал, что в hex я вижу РЕАЛЬНЫЕ байты, а не виртуальные юниты и пр. модные придумки Текстовому режиму да, доверия нет, он может показывать с интерпретациями, но не hex - hex это значит raw bytes без вариантов, именно потому смотрю в hex, когда нужно доподлинно знать содержимое побайтно. Теперь оказывается, что фару доверять уже нельзя, нужно юзать hiew.

Всего записей: 1806 | Зарегистр. 16-06-2007 | Отправлено: 22:33 06-08-2019 | Исправлено: Alexyz21, 22:41 06-08-2019
skipik



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
https://forum.farmanager.com/viewtopic.php?f=3&t=11723
Тут можно проголосовать, чтоб сделали по-новому.

Всего записей: 3021 | Зарегистр. 07-07-2006 | Отправлено: 22:41 06-08-2019
Victor_VG



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

Цитата:
спокон веков от XT считал, что в hex я вижу РЕАЛЬНЫЕ байты, а не виртуальные юниты

В том числе посему держу в фар-е HexItor что он не чудесатит как показометр. "Юнит", "фильтр", "очеловеченный" и прочий адаптированный для просмотра вид данных применим только когда нужен, а в общем случае запросто спутаешь UTF-16 LE и UTF-16 BE а то и вовсе скрестишь дога с чемоданом. Посему в "ХЕКС" режиме просмотра я как и любой иной человек ожидаю видеть именно RAW hex data , а не абстрактную картинку с такой же подсказкой "Хранилище К шкаф Ф полка А книга Б страница С строка Д ... к показаметру ...".

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

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



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skipik
Alexyz21
shmuz
 
в b5445 Git-79356dc21 хекс отображение UTF-16 BE/ UTF-16 LE показывается в RAW:
 

 
не спутать.

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

Всего записей: 24246 | Зарегистр. 31-07-2002 | Отправлено: 04:50 07-08-2019
Alexyz21

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за hex - меньше путаницы. Имхо юниты хороши как дополнительный режим отображения, но не как основной, т.е. RAW и UNITS.
 
Шпаргалку по ArcLite Недостаточно памяти для завершения операции. (0x8007000E) extract.cpp:694, плз.

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как выделить на панели файлы, содержащие BOM?
 
Как отсортировать в панели файлы по порядку: сначала в которых есть BOM, затем — в которых нет BOM? И наоборот.
 
Как искать в папке и подпапках файлы с BOM?

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
citPiks
......
Как показать наличие BOM и его тип в контент-колонке?
......
 
Ответ такой (на все эти вопросы): с помощью макросов или плагинов. Готовых таких я не знаю, но написать должно быть не особо сложно.

Всего записей: 1051 | Зарегистр. 09-03-2012 | Отправлено: 10:56 07-08-2019
KostmicK

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

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

Advanced 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

Всего записей: 1806 | Зарегистр. 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.


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

Всего записей: 24246 | Зарегистр. 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.
 
 

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

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

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

да
 

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

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

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

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

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

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

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

Advanced 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

Всего записей: 1806 | Зарегистр. 16-06-2007 | Отправлено: 20:58 07-08-2019 | Исправлено: Alexyz21, 20:59 07-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

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru