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

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

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

Maz (26-09-2022 12:52): FAR Manager (часть 7)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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



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

 
Предыдущие топики:  1 2 3 4 5  
 
Где взять последнюю версию?
На странице загрузки скачайте 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
Как устранить взаимное влияние запущенных копий FAR в памяти
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
Патч для ansi-плагинов для хранения настроек плагинов в папке профиля, а не в реестре
Как распаковать UUE/XXE файлы патчей и использовать их?
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

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

Всего записей: 39160 | Зарегистр. 26-02-2002 | Отправлено: 17:36 15-01-2020 | Исправлено: Luber, 12:33 31-05-2022
Alexyz21



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

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

Не так - сохранит время и нервы чтение Encyclopedia for Developers FarEncyclopedia.ru.chm

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 18:19 23-07-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
И вдогонку Справка по системе макросов Far Manager (macroapi_manual.en.chm или macroapi_manual.ru.chm) и Manual of LuaFAR 3 (luafar_manual.chm) плюс знание и понимание Lua 5.1 Reference Manual ибо Писание (Encyclopedia for Developers, FarEncyclopedia.ru.chm) в разделе макроязыка хотя и правится, но несколько отличается от его текущей реализации и поэтому обязательно возникнут вопросы.
 


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

Всего записей: 34580 | Зарегистр. 31-07-2002 | Отправлено: 18:26 23-07-2021 | Исправлено: Victor_VG, 18:26 23-07-2021
Alexyz21



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

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 18:34 23-07-2021
shmuz

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

Цитата:
Скомпилировать чем-нибудь типа FASM быстрый кусок ассемблерного кода в модуль, подключить его к нашему луа скрипту и получить удобство и скорость в 1 флаконе. Тоже касается и С кода - каким-нибудь Tiny C, либо Digital Mars скомпилировать модуль - красота.

Ну так скомпилированные модули для Lua существуют уже десятилетия.
Например, lpeg.dll в дистрибутиве Фара или bc.dll, который вы как-то у меня брали.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 18:50 23-07-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Я к тому, что бы сделать этот процесс менее тернистым и более понятным. Пример какой-нибудь, что бы глядя на него наваять свой Си мелко-код, скомпилить его DMC, подключить полученный модуль и радоваться скорости расчётов.

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 19:05 23-07-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ничего особенно тернистого. Собираю компилированные модули для Lua (как чужие, так и свои) с 2004 года.
 
Добавлено:
Примеров полно в Интернете, у меня нет времени проводить индивидуальные тренинги.
 
Добавлено:

Цитата:
скомпилить его DMC

Что это DMC ? Что-то общеизвестное (но неизвестное мне) ?

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 19:07 23-07-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Ассемблер это машинно-ориентированный язык, потому примеры могут оказаться бесполезными без понимания работы конкретной аппаратуры, а так по большому счёту это псевдокод с макросами заменяющими некоторые типовые фрагменты кода. Только и разницы что в нём коды машинных команд (КОП) и их операнды  обозначены аббревиатурами, а не двоичным кодом - например, для S/360 машинная команда "НЕТ ОПЕРАЦИИ" имеет хекс код 0х90, а в языке Ассемблер OS/360 она обозначается аббревиатурой nop и его компилятор просто расшифровывает КОП по таблицам и по ним же подставляет хекс значения аргументов после чего редактор связей вычисляет значения переходов и подставляет в код их значения относительно точки входа программы и он же расшифровывает макросы например SVC 107 ("modeset") изменяющий состояние ЦП, но до его вызова мы должны вручную загрузить в R0 32 бита его не документированных параметров т.к. макрос SVC изменяет состояние слова состояния процессора PSW и в т.ч.бит Supervisor/User управляющий доступностью привилегированных команд, например DIAG, ключ защиты памяти и счётчик адреса.  
 
Грубо говоря преобразование псевдокод - бинарный код и вычисление/правка относительных адресов в программе это почти вся работа транслятора, если не считать создания таблиц перекрёстных ссылок модулей, а всё иное - задачи обработки ввода-вывода, различных видов прерываний, ошибок, размещение данных и кода в памяти, вычисление адресов переходов, создание и инициализацию управляющих блоков ОС, написание кода выполняет программист.
 
В языках высокого уровня(например Algol, C, Fortran, PL/1 и т.д.) работу с I/O, обработку ошибок и прочие часто встречающиеся операции выполняют библиотеки компилятора подключаемые на этапе редактирования связей линкером, а человек машине указывает на близком к естественному языке что она должна сделать.

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

Всего записей: 34580 | Зарегистр. 31-07-2002 | Отправлено: 20:20 23-07-2021 | Исправлено: Victor_VG, 20:23 23-07-2021
Alexyz21



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

Цитата:
Что это DMC ?

Digital Mars Compiler

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 20:56 23-07-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Уже после своего поста (но ещё до вашего разъяснения) я догадался.
Но всё же не стоит ставить аббревиатуры, не являющиеся общеизвестными. Например первые как минимум 2 страницы поиска DMC в гугле не дают требуемого результата.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 21:02 23-07-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Думал Вы в курсе, что такое Digital Mars.
 
Victor_VG
Flat Assembler (FASM), если в нём поднатореть хотя бы на юзерском уровне, позволяет создавать очень быстрый код. Правда не знаю как W10 поведёт себя с ним, не заголосит ли - бинарники без цифровых подписей))

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 21:32 23-07-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Ну да, возможно лет 10-15 назад бегло ознакомился с DMC (но не пользовался).

Цитата:
Flat Assembler (FASM) .... позволяет создавать очень быстрый код

Как правило, современные компиляторы создают более быстрый код, чем программист на ассемблере (если только этот программист не супер-гуру).

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 21:45 23-07-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Существует ли что-нибудь рабочее типа lua2c, генерирующее из lua кода Си код, который можно скомпилировать в рабочий модуль?

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 21:57 23-07-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Существует, но вряд ли кто этим пользуется (и вам не советую).
Если хотите освоить сборку чужих модулей, скачайте какие-либо простые и изучите их мэйк-файлы.
Если своих - в мануале Lua описана структура модуля на Си.
Ну и кроме того, при использовании LuaJIT, модули на Lua могут не уступать в скорости модулям на Си.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 22:07 23-07-2021 | Исправлено: shmuz, 22:07 23-07-2021
kraeved



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решения на скриптовых языках по рокировке первого и последнего значений (23-07-2021 в 2021-07-23):
* lua -e "print(('23-07-2021'):gsub('(..)(....)(....)','%3%2%1'),'')"
* node -e "console.log('23-07-2021'.split('-').reverse().join('-'))"
* perl -e "print(join '-', (split /-/, '23-07-2021')[2,1,0])"
* php -r "echo implode('-', array_reverse(explode('-', '23-07-2021')));"
* powershell -c '23-07-2021'.split('-')[2..0] -join '-'
* python -c print('-'.join(reversed('23-07-2021'.split('-'))))
 
Олдскульные бонусы:
* echo 23-07-2021| awk 'BEGIN{FS=OFS="-"}{print $3,$2,$1}'
* echo puts [join [lreverse [split 23-07-2021 -]] -] | tclsh

 
Во всех случаях я обращался к руководствам и они помогли. Была лишь одна заминка с внешним Lua
(тем, который работает отдельно от Фара), где gsub печатает количество попаданий помимо результата,
что можно скрыть, добавив дополнительный пустой параметр или обернув в третью пару скобок. А вот
энциклопедии Фара, на которые тут любят ссылаться (известно кто, по пальцам сосчитать), не помогли.
Например, есть страничка о far.gsub, на которой нет примеров, а единственная страничка с примером,
упоминающим gsub, делает это вперемешку с другими функциями и в отрыве от вызова lua, т.е. сказать
по-простому «сделано на отвалите», без стремления выстраивать дом знаний по кирпичикам. А раз цели
объяснить доступно и связано не стоит, чего лишний раз пугать этим мавзолеем? Мы обречены помогать
друг другу в формате вопрос-ответ (пока на форумах, за неимением комнаты на Libera или Discord).

Всего записей: 1000 | Зарегистр. 01-03-2003 | Отправлено: 23:00 23-07-2021 | Исправлено: kraeved, 16:17 24-07-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kraeved, я практически единоличный автор LuaFAR, LuaMacro и их документации.
Один Б-г знает, сколько сотен часов на это всё было затрачено.
За 9 лет нахождения этих компонентов в Фаре я не получил почти никакой помощи в расширении или улучшении документации.
И тут приходит человек на готовенькое, который ничего для Фара не сделал,  и начинает критиковать.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 00:37 24-07-2021
kraeved



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Инструмент и сопровождающая его документация находятся в общем доступе. Раз вы пошли на то,
чтобы любой имел доступ, то любой может иметь и суждение по факту пользования. Суждение тем
ценнее, чем более оно не про очернение, а про описание расхождения ожиданий и реальности.
Наличие такого расхождения мешает решать задачу самостоятельно, не отвлекая окружающих —
оно подсказывает вам, автору, на чём сфокусировать усилия, чтобы следующие N лет рыть канаву
в сторону пользователей, а не куда глаза глядят, полагаясь лишь на себя и восторги «тусовочки».
Поднимитесь над детской обидой: я перечислил 6 скриптовых языков, с которыми познакомился
за те же 9 лет, опираясь на их документацию, а по Фару всё возникают простые вопросы. Конечно,
мне и квантовая физика пока не даётся, но одно для узких специалистов, а другое — для жизни.

Всего записей: 1000 | Зарегистр. 01-03-2003 | Отправлено: 01:25 24-07-2021 | Исправлено: kraeved, 01:43 24-07-2021
shmuz

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

Цитата:
Наличие такого расхождения мешает решать задачу самостоятельно, не отвлекая окружающих —
оно подсказывает вам, автору, на чём сфокусировать усилия, чтобы следующие 9 лет рыть канаву
в сторону пользователей, а не куда глаза глядят, полагаясь лишь на себя и восторги «тусовочки».  

Следующих девяти лет не будет, в прошлом году я вышел из проекта.

Цитата:
Поднимитесь над детской обидой: я перечислил 6 скриптовых языков, с которыми познакомился
за те же 9 лет, опираясь на их документацию, а по Фару всё возникают простые вопросы.  

Подозреваю, что каждый из перечисленные вами 6 скриптовых языков и его документация не были результатом труда одного человека.
Далее продолжать данную темы не буду.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 01:33 24-07-2021
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Ассемблер хорош для написания тестов железа, а так - работы много, а прирост скорости по сравнению с С порядка 2% - 3% - несоизмеримо.

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

Всего записей: 34580 | Зарегистр. 31-07-2002 | Отправлено: 03:04 24-07-2021
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kraeved, у вас есть прекрасная возможность сделать всё так, как должнО. - Прежде чем критиковать, спросите себя, что сделал я для того, чтобы стало лучше. Миру не нужны критики, Миру нужны творцы. Критиков - ведро рубль, а творцов единицы, поэтому их нужно холить и лелеять.
 
Шмуэль,
Код:
ffi.cdef[[typedef uint8_t Tree[9];]]
требует обязательного наличия ; после записи, что неожиданно. Но если заменить двойные квадратные на кавычки, то ; не обязательна.
 
 

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 06:20 24-07-2021 | Исправлено: Alexyz21, 09:09 24-07-2021
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Не обязательно точка с запятой, можно и пробел.
Это логично, если учесть, что код сначала проходит через парсер, который знает, что [[ это начало стринга и затем находит ]] (конец стринга). Затем парсер видит одиноко болтающийся ] , что является невалидным синтаксисом.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 10:26 24-07-2021
   

Страницы: 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 (часть 6)
Maz (26-09-2022 12:52): 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