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

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

Модерирует : 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

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

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Far Manager
 
   

 
Предыдущие топики:  1 2 3 4 5 6  
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
Шрифт TTF, аналог Terminal 10x18
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
 
Прочее
Портабелизация в FAR 3 плагинов для FAR 1
Выдержка из 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
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
Как распаковать UUE/XXE файлы патчей и использовать их?
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

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

Всего записей: 38836 | Зарегистр. 26-02-2002 | Отправлено: 12:51 26-09-2022 | Исправлено: Smitis, 19:37 04-12-2023
shmuz

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

Цитата:
падает на файле содержащем только 1 строку без ПС.  

У меня не падает.

Цитата:
для единообразия с RESearch

Я этим плагином не пользуюсь, соответственно единообразия с ним не ищу.
Сначала вообще думал сделать этот индикатор в форме [NN].

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 11:57 05-03-2023
Alexyz21



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

Цитата:
У меня не падает.

Попробуйте файл с кириллической строкой, например с xE0 (кириллическое А в ANSI)  
 

Цитата:
Я этим плагином не пользуюсь, соответственно единообразия с ним не ищу.

Я ищу, потому и на картинке изобразил соответствующим образом. Но не проблема усложнить маску в скрипте, раз гора не идёт к Магомету.
 

Всего записей: 3486 | Зарегистр. 16-06-2007 | Отправлено: 13:30 05-03-2023
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21 (пост)
Цитата:
Попробуйте файл с кириллической строкой

Дык в чем сложность ВЫЛОЖИТЬ ТОЧНО ВАШ файл, с которым происходит ошибка?
У меня вот тоже не упало...

Всего записей: 3322 | Зарегистр. 01-04-2006 | Отправлено: 13:37 05-03-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child
Выложить файл с 1 байтом xE0?

Всего записей: 3486 | Зарегистр. 16-06-2007 | Отправлено: 13:52 05-03-2023
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
ЕСЛИ на нем происходит ошибка - то да
ибо, когда делаешь его сам - и используешь плагин - падений нет.
Ну и как тут по другому искать причину???

Всего записей: 3322 | Зарегистр. 01-04-2006 | Отправлено: 13:58 05-03-2023
shmuz

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

Цитата:
Выложить файл с 1 байтом xE0?

Попробовал, не падает ни на x86, ни на x64.
Думаю, что дело в ОС.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 21:44 05-03-2023
shmuz

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

Код:
local s = string.char(0xE0)
far.Show (win.Utf8ToUtf16(s))

Вот этот код у меня не падает, а у вас видимо упадёт.
 
P.S. Но эта проблема у меня воспроизвелась на far2l, значит надо фиксить

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 00:11 06-03-2023 | Исправлено: shmuz, 00:31 06-03-2023
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz (пост)
Цитата:
у меня воспроизвелась на far2l

Какой Линукс нежный оказался))))
винде-то вон - всё ни по чём!

Всего записей: 3322 | Зарегистр. 01-04-2006 | Отправлено: 11:32 06-03-2023
Alexyz21



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

Цитата:
Вот этот код у меня не падает, а у вас видимо упадёт.

Так и есть: bad argument #1 to 'Utf8ToUtf16' (invalid multibyte string)

Всего записей: 3486 | Зарегистр. 16-06-2007 | Отправлено: 11:42 06-03-2023
shmuz

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

Цитата:
Какой Линукс нежный оказался))))
винде-то вон - всё ни по чём!

Ну как же, на WinXP ведь падает. А в far2l используется функция из Wine.
 
На самом деле это не простая проблема (как обрабатывать невалидный multibyte текст), о ней в интернете есть статьи и дискуссии.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 11:49 06-03-2023
Alexyz21



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

Всего записей: 3486 | Зарегистр. 16-06-2007 | Отправлено: 11:51 06-03-2023 | Исправлено: Alexyz21, 11:52 06-03-2023
shmuz

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

Цитата:
А когда не падает, матчит правильно? На любых наборах символов?

Это надо проверять, сейчас нет времени.
 
Добавлено:
Да, при установке Default Code Pages, буква а в этом файле находится.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 11:53 06-03-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Когда-то раньше, когда расцветки результата не было LFS грепил быстрее RES, теперь наоборот. Расцветка сильно помогает в восприятии результатов. Спасибо за отличный инструмент.

Всего записей: 3486 | Зарегистр. 16-06-2007 | Отправлено: 12:14 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Скорость грепа в LFS не зависит от расцветки, расцветка делается, когда уже сама операция грепа закончена.
А вот скорость грепа в последней версии LFS снизилась из-за подсчёта кол-ва вхождений, т.е. раньше строка проверялась только на 1-е вхождение, и сразу шёл переход на следующую строку.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 12:25 06-03-2023 | Исправлено: shmuz, 12:26 06-03-2023
El Sanchez



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

Код:
local s = string.char(0xE0)
far.Show (win.Utf8ToUtf16(s))

shmuz, Utf8ToUtf16 ожидает, что на входе у неё будут байты UTF-8. Байт 0xE0 ну никак не корректный. Windows возвращает замещающий символ, поэтому не ругается.

Код:
 
Проверяем, правильные ли байты после string.char:
C:>lua:far.Show(string.byte(string.char(0xE0),1))
1| 224 ; 224 = 0xE0
OK
 
Проверяем, правильные ли байты после string.char:
0xD0, 0xB0 - это правильная последовательность байтов символа маленькой кириллической буквы а  в кодировке UTF-8.
C:>lua:far.Show(string.byte(string.char(0xD0, 0xB0),1,2))
1| 208 ; 208 = 0xD0
2| 176 ; 176 = 0xB0
OK
 
Проверяем, правильные ли байты после win.Utf8ToUtf16:
C:>lua:far.Show(string.byte(win.Utf8ToUtf16(string.char(0xE0)),1,2,3,4))
1| 253 ; 253 = 0xFD
2| 255 ; 255 = 0xFF
0xFDFF - замещающий символ (кодовая точка U+FFFD) в кодировке UTF-16LE, поэтому не ругается в Windows. Замещающий потому, что 0xE0 это фуфло.
 
Проверяем, правильные ли байты после win.Utf8ToUtf16 для корректных байтов:
C:>lua:far.Show(string.byte(win.Utf8ToUtf16(string.char(0xD0, 0xB0)),1,2,3,4))
1| 48 ; 48 = 0x30
2| 4   ; 4 = 0x04
0x3004 - кириллическая маленькая буква а (кодовая точка U+0430) в кодировке UTF-16LE.
 


Всего записей: 467 | Зарегистр. 23-12-2008 | Отправлено: 15:48 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
El Sanchez
Lua-функция win.Utf8ToUtf16 реализована через WINAPI-функцию MultiByteToWideChar.
Последняя одним из параметров принимает Flags, который может содержать бит
MB_ERR_INVALID_CHARS (Fail if an invalid input character is encountered)
Этот бит в функции win.Utf8ToUtf16 всегда установлен в 0.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 16:20 06-03-2023 | Исправлено: shmuz, 16:50 06-03-2023
El Sanchez



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

Цитата:
Lua-функция win.Utf8ToUtf16 реализована через WINAPI-функцию MultiByteToWideChar.  
Последняя одним из параметров принимает Flags, который может содержать бит  
MB_ERR_INVALID_CHARS (Fail if an invalid input character is encountered)

shmuz, и что? Это я и так знаю, я о том, что ваш тест некорректен.
 

Всего записей: 467 | Зарегистр. 23-12-2008 | Отправлено: 17:03 06-03-2023
shmuz

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

Цитата:
я о том, что ваш тест некорректен.  

Мой тест был предназначен для проверки поведения на разных ОС.
И он показал, что на Windows 10 ошибка не выдаётся, а на Windows XP выдаётся.
Чем же этот тест некорректен?

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 17:18 06-03-2023
wseventeen

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

Цитата:
Note  For UTF-8 or code page 54936 (GB18030, starting with Windows Vista), dwFlags must be set to either 0 or MB_ERR_INVALID_CHARS. Otherwise, the function fails with ERROR_INVALID_FLAGS.

 
Добавлено:
dwFlags всегда равен 0?

Всего записей: 1417 | Зарегистр. 20-12-2007 | Отправлено: 20:25 06-03-2023
shmuz

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

Цитата:
dwFlags всегда равен 0?

Для функции win.Utf8ToUtf16.
Если нужно другое значение флагов, можно пользовать win.MultiByteToWideChar.

Всего записей: 1863 | Зарегистр. 09-03-2012 | Отправлено: 20:32 06-03-2023
Открыть новую тему     Написать ответ в эту тему

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru