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

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

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

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

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

Цитата:
Это я знал, любопытно зачем так сделали.

LuaFAR является тонкой оболочкой над FAR API. Это означает, что LuaFAR отображает в Lua функции Far API "как есть" и, по возможности, единообразно, не пытаясь делать мелких усовершенствований.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Вы это мне понятно объяснили ещё несколько лет назад, к этим же выводам можно придти, если сравнить параметры функций lua и far api. Мне же любопытно стало почему разработчики фара выделили Current в отдельную функцию, когда этот item можно адресовать нулём - если это не так, то почему? - Это интересно.

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 11:35 20-07-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Вы сформулировали свой вопрос в терминах функций LuaFAR, а не FAR API, и почему-то ожидаете, что отвечающий должен (читая ваши мысли) догадаться, что вопрос был на самом деле о Far API.
Я свой лимит времени исчерпал, простите.

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



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

Цитата:
отвечающий должен (читая ваши мысли) догадаться, что вопрос был на самом деле о Far API.

Видимо потому, что:

Цитата:
LuaFAR является тонкой оболочкой над FAR API. Это означает, что LuaFAR отображает в Lua функции Far API "как есть"



Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 12:30 20-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Баг. Плагин VisualCompare падает при сравнении 2-х файлов 0-го размера.
 
VisualCompare.lua Используя одноимённый плагин сравнивает 2 файла.
Поддерживаются панели: Files, Branch, Temporary, Arclite, Netbox, Observer, TorrentView.
 
Подробнее...

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 14:07 22-07-2019 | Исправлено: Alexyz21, 15:52 06-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Скрипт интересен. Для очистки совести глянул в LuaCheсk v0.21.1:
 

 
Для устранения варнингов я бы заменил длинные выражения на подстановки local, да и мелкий рефакторинг улучшил бы читаемость...

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

Всего записей: 34420 | Зарегистр. 31-07-2002 | Отправлено: 14:36 22-07-2019
Alexyz21



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

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 14:49 22-07-2019 | Исправлено: Alexyz21, 14:51 22-07-2019
Victor_VG



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

Код:
if CI then panel.SetSelection(nil,1,CI,false) end
  AP,PP = f(AP,AC),f(PP,PC)
 

чтобы при APannel.Selected=APanel.Current and PPanel.Selected не выводилось ложное сообщение "Visual Compare:: t's the same object" для случая если APanal.Path ~= PPanel.Path т.к. объекты могут быть разными, за исключением случаев сравнения симлинка и его таргета или хардлинка на объект. Ну, с симлинками/хардлинками нужно разбираться отдельно получая для хардлинка значение счётчика связей, а для симлинка его свойства, или сразу запрашивать у NTFS/NFS/UFS их таргеты...  
 
Добавлено:
LuaCheck можно из набора скриптов взять - он габаритами меньше чем полная сборка, плюс в редми описание кто и за что отвечает с хоткеями - проще найти нужный...

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

Всего записей: 34420 | Зарегистр. 31-07-2002 | Отправлено: 14:59 22-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
bindings в farue3-setup.exe
 

Код:
Rebind {
  uid="B8FAEC0A-EC03-4C0B-BF49-D039994459C0";
  key="CtrlF1";
}

 
AP,PP в этом случае это полные пути либо в FS, либо в Temp, куда уже распакованы сравниваемые файлы, поэтому всё там верно.

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 15:19 22-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Если на панели Area==Shell, то биндинг не требуется и вылетает ложное сообщение. Тут я забыл в условии указать что Area==Shell. Посмотри сам как воспроизводится:
 
Area==Shell and PPanel.Selected == true and APanel.Sected == APanel.Current ->  CtrlAltC -> Message()
 
Добавлено:
Да, и кроме того GUID = B8FAEC0A-EC03-4C0B-BF49-D039994459C0 у меня не задействован. По крайней мере grep его не нашёл.

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

Всего записей: 34420 | Зарегистр. 31-07-2002 | Отправлено: 15:33 22-07-2019
Alexyz21



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

Цитата:
Area==Shell and PPanel.Selected == true and APanel.Sected == APanel.Current ->  CtrlAltC -> Message()

Ничего не понял...  
 
Что-то luacheck ругается на luafar дополнения, где-то что-то надо подкрутить...

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 15:43 22-07-2019 | Исправлено: Alexyz21, 15:47 22-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
В макросе происходит искажение значения Panel.Path0:

Код:
AP,PP = f(AP,AC),f(PP,PC)
  if AP==PP then far.Message("it's the same object","Visual Compare")
  elseif win.GetFileInfo(AP).FileSize==0 and win.GetFileInfo(PP).FileSize==0 then far.Message("Both files zero size","Visual Compare")

в итоге если область Shell, на обеих панелях есть выделенные элементы и курсор стоит на одном из них происходит ложное срабатывание сравнения (похоже формируется AP==PP) и вывод сообщения.

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

Всего записей: 34420 | Зарегистр. 31-07-2002 | Отправлено: 15:52 22-07-2019 | Исправлено: Victor_VG, 15:54 22-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё, понял. Тут каждый может сделать так, как считает для себя нужным-удобным. Мне выделение на пассивной не требуется, там используется курсор. А для активной указано - если выделен 1, то сравнивается он и тот, что под курсором. Если пользователь сравнивает файл с ним же, то ему виднее - защиту на всё навешивать нет смысла.
 
Что и где нужно подкрутить в luacheck, чтобы он не ругался на luafar функции?

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 15:58 22-07-2019 | Исправлено: Alexyz21, 16:17 22-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Добавить их в список функций для фар-а. С ходу не помню имя файла (давно у себя правил).

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

Всего записей: 34420 | Зарегистр. 31-07-2002 | Отправлено: 16:59 22-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Нашёл, требовался far_standards.lua.cfg с прописанными там функциями.
 
luacheck
Неправильно обрабатываются W311, W611, W612:

Код:
local sn,cls = string.sub(_G.headline,1,3)
if sn=='Лет' then cls='summer'
elseif sn=='Зим' then cls='winter'
else cls='other'
end
_G.Pub2.info=_G.Pub2.info..cls
 
_G.vendor_t = {
'Devino','PT.Prima Alloy Steel Universal, Jl. Muncul 1, Kecamatan Gedangan, Propinsi Jawa Timur, Sidoarjo, Indonesia.',
'Disla','ООО "МП Фірма ПТК". 07800, Украина, Киевская область, пгт.Клавдиево-Тарасово, Бородянский р-н ул.Гагарина, 67.',
'YST','Freeman Racing Wheels Inc., 1502, Zhongning Bld, No.255, Lingqiao Rd, Ninbo, China.'
}


Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 18:16 22-07-2019 | Исправлено: Alexyz21, 18:52 22-07-2019
skipik



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

Цитата:
Скрипт интересен.

Вить, так у тебя (и у меня, кстати, тоже) в FarUE3 он добавлен. Только там версия 1.1.

Всего записей: 4832 | Зарегистр. 07-07-2006 | Отправлено: 18:36 22-07-2019
Alexyz21



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

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 18:53 22-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skipik
 
Да, руки не доходили им заняться. Сейчас думаю как сохранить плюсы и устранить недостаток. Не стану вносить изменения в алгоритм пока у меня ясности что должно выйти.
 
Alexyz21
 
Так и в 1.4 есть недостаток который я хочу устранить. Событие "на панелях в момент вызова сравнения есть выделенные файлы" у меня к примеру не редкость - его вероятность ~ 0,2, значит его нужно учитывать...

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

Всего записей: 34420 | Зарегистр. 31-07-2002 | Отправлено: 23:10 22-07-2019
Alexyz21



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

Цитата:
на панелях в момент вызова сравнения есть выделенные файлы

Тогда обработка должна быть иная.
 
В скрипте один мутный момент, связанный с двойными диалогами копирования из-за мутной логики некоторых плагов? функции копирования FAR? Например открываем панель MultiArc, жмём F5, видим диалог Extract, ok. Теперь на обоих панелях открываем MA, опять F5 и видим теперь диалог копирования, по указании полного пути и Enter, видим диалог Extract - что-то в консерватории извилисто. Перебрав разные сочетания панелей приходим к шаманскому костыльному коду:

Код:
  if Area.Dialog and Dlg.ItemType==4 and (Dlg.Id==CopyDl1 or Dlg.Id==CopyDl2 or Dlg.Id==CopyDl3 or Dlg.Owner==MArcDlg) then print(p) Keys("Enter") end
  if Area.Dialog and (Dlg.ItemType==4 or Dlg.ItemType==8) and (Dlg.Id==CopyDl1 or Dlg.Id==CopyDl3 or Dlg.Owner==MArcDlg) then print(p) Keys("Enter") end -- fix 2nd dialog

 
UP. исправил

Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 00:40 23-07-2019 | Исправлено: Alexyz21, 14:22 23-07-2019
Victor_VG



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

Цитата:
Комментим опрос выделенных if APanel.SelCount==2 then ... elseif APanel.SelCount==1 then ... end и получаем сравнение исключительно файлов под курсорами.  

Это можно, но я хочу логику скрипта сохранить и думаю прикрутить проверку на if (area==shell and Apanel.Path0 == PPanel.Path0) then ... end для выдачи сообщения только в этом случае т.к. тогда сравнение априори не имеет смысла.  

Цитата:
В скрипте лишь один мутный момент, связанный с двойными диалогами копирования из-за мутной логики некоторых плагов?

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

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

Всего записей: 34420 | Зарегистр. 31-07-2002 | Отправлено: 01:21 23-07-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