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

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

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

Цитата:
И ещё один вопрос - а как правильно использовать build_moonscript.zip ?

Отвечаю здесь, т.к. может быть и другим полезно.
build_moonscript.zip немножео сложно объяснять, предложу другое решение.
1. Создайте файл convert.lua:

Код:
local to_lua = (require "moonscript.base").to_lua
far.RecursiveSearch(far.GetCurrentDirectory(), "*.moon",
  function(item, fullpath)
    local fp = assert(io.open(fullpath))
    local str = fp:read("*all")
    fp:close()
    local newpath = fullpath:sub(1,-5).."lua"
    fp = assert(io.open(newpath,"w"))
    str = assert(to_lua(str))
    fp:write(str, "\n")
    fp:close()
  end,
  "FRS_RECUR")

2. Распакуйте LuaEditorSettingsCore в какую-то временную папку, в эту папку в корень поместите convert.lua
3. Из этой папки запустите lua:@convert.lua
4. Скрипт преобразует все moon-файлы в lua-файлы.
5. Удалите все moon-файлы (с временной панели - сделаете поиск *.moon)
6. Дальше скопируйте результаты куда положено.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 22:50 27-05-2020
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
О! Спасибо огромное! Воспользуюсь так как интересно а какая разница во времени выйдет?  
 
Добавлено:
Попробовал - конфетка! Просто, безотказно, надёжно.
 
Добавлено:
Посмотрел как у меня работает сконвертированный в Lua LuaEditorSettingsCore - совсем иные времена:
0.077    
0,076    
0,083    
0,076    
0,081    
0,089    
0,085    
0,085    
0,09    
0,076    
0,091    
0,08    
0,103    
0,088    
0,089

а его Moonsсript прототип показывал времена около 0,3 т.е. в данном случае имеет смысл использовать Lua т.к. это в 3 - 3,5 раза уменьшит время выполнения алгоритма скрипта...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
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 | Отправлено: 00:46 28-05-2020
abelenki2



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
протух скриншот Far'а в закреплённом сообщении.
 
просьба поправить, у кого есть права.

Всего записей: 216 | Зарегистр. 16-03-2016 | Отправлено: 05:25 28-05-2020
WWWaiyter



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, не помогло (( Полностью удалил папку, установил стабильную 5577 - не переключает, зараза..

Всего записей: 4355 | Зарегистр. 26-12-2019 | Отправлено: 07:21 28-05-2020
shmuz

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

Цитата:
в данном случае имеет смысл использовать Lua т.к. это в 3 - 3,5 раза уменьшит время выполнения алгоритма скрипта...

Необходимо различать время загрузки скрипта и скорость работы скрипта.
Преобразование файлов moon в lua уиеньшает время загрузки/перезагрузки макросов, но оно никак не влияет на скорость работы скриптов.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 10:40 28-05-2020
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
Я это понимаю, и имею ввиду именно время выполнения загруженного алгоритма. Да и использованный тест работает с уже загруженным в память алгоритмом, так что стадию его подготовки в данном случае мы можем не учитывать.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
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 | Отправлено: 11:14 28-05-2020 | Исправлено: Victor_VG, 11:18 28-05-2020
Taciturn

Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
https://github.com/z0hm/far-scripts/blob/master/Dialog.Maximize.moon
А как бы изменить этот скрипт, чтобы его не нужно было настраивать через F2? Т.е. установить XScale = 1 навсегда.

Всего записей: 2022 | Зарегистр. 26-07-2003 | Отправлено: 13:33 28-05-2020
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
Чуть дополнил конвертер Moon -> Lua - добавил автомат удаления исходных Moon-файлов на случай "а вдруг забудем?"

Код:
-- shmuz, 28.05.2020, updated VictorVG, 28.05.2020
-- copy to root temporary folder included Moonscript files and run
-- all Moonscript files be deleted after convert!
local to_lua = (require "moonscript.base").to_lua
far.RecursiveSearch(far.GetCurrentDirectory(), "*.moon",
  function(item, fullpath)
    local fp = assert(io.open(fullpath))
    local str = fp:read("*all")
    fp:close()
    local newpath = fullpath:sub(1,-5).."lua"
    fp = assert(io.open(newpath,"w"))
    str = assert(to_lua(str))
    fp:write(str, "\n")
    fp:close()
  end,
  "FRS_RECUR")
far.RecursiveSearch(far.GetCurrentDirectory(), "*.moon",
  function(name, path) win.DeleteFile(path) end,
  "FRS_RECUR")

да и для ленивых пригодится.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
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:15 28-05-2020 | Исправлено: Victor_VG, 19:07 28-05-2020
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Зачем 2 раза рекурсировать, почему не удалять сразу после сохранения? Весело будет положить этот скрипт в папку Scripts - после перезапуска фара все муны будут сконвертированы.
 
Добавлено:
Taciturn
63: xs:1
 
Добавлено:
shmuz

Код:
ProcessColors=(id,update)->

конвертируется в:

Код:
local ProcessColors
ProcessColors = function(id, update)

Выглядит странно, ожидаю:

Код:
local ProcessColors = function(id, update)

и ставит префиксом return перед Event, либо Macro в зависимости кто из них последний в файле.

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 20:08 28-05-2020 | Исправлено: Alexyz21, 21:06 28-05-2020
WWWaiyter



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Шаманы.. )) Я в трепете... )

Всего записей: 4355 | Зарегистр. 26-12-2019 | Отправлено: 21:05 28-05-2020
shmuz

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

Цитата:
Выглядит странно, ожидаю: Код: local ProcessColors = function(id, update)  

Выглядит странно только для восприятия человеком. Данный конвертер цели добиться красивости перед собой не ставит.

Цитата:
ставит префиксом return перед Event, либо Macro в зависимости кто из них последний в файле

Таковы правила MoonScript. Если хотите вернуть что-то другое или nil, поставьте это другое в самый низ файла.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 21:15 28-05-2020
Alexyz21



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

Цитата:
Выглядит странно только для восприятия человеком. Данный конвертер цели добиться красивости перед собой не ставит.

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

Цитата:
Таковы правила MoonScript. Если хотите вернуть что-то другое или nil, поставьте это другое в самый низ файла.

И правда, упустил.

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 21:24 28-05-2020
shmuz

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

Цитата:
восприятние здесь не причём, сама конструкция неоптимальна

Значит вы умнее автора мунскрипта.

Всего записей: 1906 | Зарегистр. 09-03-2012 | Отправлено: 21:29 28-05-2020
Taciturn

Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexyz21
Спасибо, теперь всё работает как мне хотелось.

Всего записей: 2022 | Зарегистр. 26-07-2003 | Отправлено: 22:11 28-05-2020
Victor_VG



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

Код:
local ProcessColors
ProcessColors = function(id, update)

кстати, а почему ты считаешь что ProcessColorsт "затенённая глобальная" переменная? Она уже явно объявлена локальной в первой строке, а далее ей  просто присваивается значение и я не вижу тут создания новой переменной.  
 
По крайней мере спецификации Lua однозначно говорят, что переменная явно объявленная как local считается локальной во всей области видимости оператора local если её имени не предшествует префикс _G. Либо она считается не объявленной глобальной переменной, и LuaCheck выводит на неё варнинг w113 (w113  Accessing an undefined global variable) если она появляется в коде до своего явного объявления в текущем local.
 
Закоммитил FarUE3 b5611 Git-7bda1c2a8.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
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 | Отправлено: 23:41 28-05-2020 | Исправлено: Victor_VG, 00:30 29-05-2020
WWWaiyter



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, Витя, я правильно CtrlR.lua положил сюда?: C:\Users\Администратор\AppData\Roaming\Far Manager\Profile\Macros\scripts\?
 
Чож оно не переключается то.. (
 
 

Всего записей: 4355 | Зарегистр. 26-12-2019 | Отправлено: 05:05 29-05-2020
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WWWaiyter
 
Если в FarUE3 то нет - она настроена через Far.exe.ini так, что профиль и соответственно макросы читаются из каталога Far-а что сделано для её портабельности, но при этом лишает свойства многопользовательского пакета с индивидуальными настройками.  
 
Положи скрипт в каталог ./Far/Profile/Macros/Sctripts , выполни команду Alt-Shift-R (Перезагрузка макросов - за неё так же отвечает скрипт) и он будет у тебя работать. А вне профиля FarUE3 не подгружает и не ищет макросы или дополнительные плагины что даёт возможность иметь и одновременно запускать через runfar.cmd на одной машине несколько независимых копий Far с индивидуальными наборами настроек и с исключением взаимовлияния консольных сессий (для этого используются батники runfar.cmd + rfar.cmd и утилита hidcon-x*.exe).  
 
Если запустить одну копию фара-а из под другой, то в дереве процессов ОС мы увидим их взаимосвязь "родитель - потомок" вида:
 
процесс родитель
 |
 far.exe
          |
          far.exe
                   |
                   процессы потомки ....

 
а их консоли будут взаимосвязаны (внешне проявится в переключении языка ввода - переключили для одной копии, а тот же язык ввода включился и для всех её потомков) даже если запускать новую копию через команду ОС start /i <programm>.  
 
Именно этот эффект и заставил меня использовать схему с запуском через цепочку из независимой скрытой консоли создаваемой утилитой hidcon и команды start /i <prigramm> - иным способом разорвать связь консолей ОС я не смог.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
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 | Отправлено: 11:15 29-05-2020 | Исправлено: Victor_VG, 11:19 29-05-2020
Alexyz21



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

Всего записей: 3721 | Зарегистр. 16-06-2007 | Отправлено: 13:30 29-05-2020
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Не вопрос. Кстати и библиотеки SQLte3 (SQLite3.dll + SQLite3.exe x86-64) в таком варианте (DLL, по набору возможностей, и шелл х86-64) на офсайте отсутсвуют. Шелл там есть, но только для х86 в архиве sqlite-tools-win32-x86-3320100.zip (1.75 MiB). Так что если нужны, то можно и их использовать. Собраны в GCC 9.2.1 для XP x64/Server 2003 x64 и новее.     

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
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 | Отправлено: 14:08 29-05-2020
WWWaiyter



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

Цитата:
Если в FarUE3 то нет

 
Что за FarUE3? У меня твоя сборка же.. )) Всегда всё работало, тут чота где-то видимо, сломалось.. ) Где - не понимаю, просто обновил билд и всё.. Больше ничего не трогал.. )
 
 

Всего записей: 4355 | Зарегистр. 26-12-2019 | Отправлено: 18:55 29-05-2020
   

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