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

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

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

Maz (23-11-2017 18:57): FAR Manager (часть 5)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

AlViS



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

 
Предыдущие топики:  1 2 3
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
 
Общие сведения о совместимости 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, иначе плагин не будет загружен.

 
Принципиальные различия между hard link, symlink и junction
Как устранить взаимное влияние запущенных копий FAR в памяти
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

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

Всего записей: 2402 | Зарегистр. 03-01-2002 | Отправлено: 11:10 07-11-2015 | Исправлено: Victor_VG, 04:33 26-09-2017
shmuz

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

Цитата:
Понял, поправлю и пересоберу.

Пересобирать не надо, так как это, в общем-то не баг. Поставят плагин на 4040, он просто работать не будет. А если поправите, то Фар выдаст красное окошко при запуске о том, что плагину требуется более новая версия Фар.

Всего записей: 1857 | Зарегистр. 09-03-2012 | Отправлено: 18:47 01-03-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Возможно ли "ускорить" c0link.lua:

Код:
local ColPName = "c0"
 
function export.GetContentFields(ColNames)
  for i,v in ipairs(ColNames) do
    if v:lower()==ColPName then return true end
  end
end
 
function export.GetContentData(FilePath,ColNames)
  local data = {}
  for i,v in ipairs(ColNames) do
    if v:lower()==ColPName then
      local attr = win.GetFileAttr(FilePath)
      local info = win.GetFileInfo(FilePath)
      data[i] = info.FileName
      if attr and attr:find"e" then
        data[i] = data[i].." →"..far.GetReparsePointInfo(FilePath)
      end
    end
  end
  return next(data) and data
end

?

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 19:07 01-03-2016 | Исправлено: Alexyz21, 19:08 01-03-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
Поправил, перевыложил с исходниками ver_c0.7z - ссылка новая т.к. обновляя архив случайно я удалил из него все файлы и ЯД снял линк...

Отправлено: 19:40 01-03-2016
shmuz

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

Цитата:
Возможно ли "ускорить" c0link.lua:  

Не исключено, но это надо разбираться конкретно, где и что тормозит.

Всего записей: 1857 | Зарегистр. 09-03-2012 | Отправлено: 19:45 01-03-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
shmuz
 
Уже поправил pe.cpp и перекомпилил под b4214 ибо это лучше - люди будут знать что нужен фар 4214 и выше и вопроса "Кто сломал и где?" точно не будет, а я перед тем как класть готовую DLL естественно у себя всё проверил для х86 и х64 вариантов.

Отправлено: 19:46 01-03-2016
Angel_Ka



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

Цитата:
1. вводя первый символ, мы лочим легальный набор символов - либо цифры, либо символы-шоркаты, другие не будут приниматься до полной очистки поля ввода.
2. раньше при вызове макроса в первый раз и пометке атрибутов, сортировка стартовала с обратного направления - теперь с прямого, как и должно.  

Слона то я и не приметил! Да, так лучше — пробовал на версии от 13:41 01-03-2016.
Премного спасибов!

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 20:37 01-03-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
Alexyz21
 
У меня это скрипт не тормозит:

Цитата:
function export.GetContentFields(ColNames)
  for i,v in ipairs(ColNames) do
    if v:lower()=="link" then return true end
  end
end
 
function export.GetContentData(FilePath,ColNames)
  local data = {}
  for i,v in ipairs(ColNames) do
    if v:lower()=="link" then
      local attr = win.GetFileAttr(FilePath)
      if attr and attr:find"e" then
        data[i] = " → "..far.GetReparsePointInfo(FilePath)
      end
    end
  end
  return next(data) and data
end

а твой или не запускается если оставить имя колонки c0, или если поправить:

Код:
local ColPName = "link"
 
function export.GetContentFields(ColNames)
  for i,v in ipairs(ColNames) do
    if v:lower()==ColPName then return true end
  end
end
 
function export.GetContentData(FilePath,ColNames)
  local data = {}
  for i,v in ipairs(ColNames) do
    if v:lower()==ColPName then
      local attr = win.GetFileAttr(FilePath)
      local info = win.GetFileInfo(FilePath)
      data[i] = info.FileName
      if attr and attr:find"e" then
        data[i] = data[i].." → "..far.GetReparsePointInfo(FilePath)
      end
    end
  end
  return next(data) and data
end  

то в режимах панелей где задан вывод с0  при переходе по линкам на каждый линк выскакивает ошибка на строку 15 - nil и возиться с её правкой нет времени. Откатил на рабочий вариант.

Отправлено: 20:59 01-03-2016
skipik001



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

Цитата:
У меня это скрипт не тормозит:

Вить, а его нужно класть в .\Profile\Macros\scripts или пускай в папке плагина лежит?

Всего записей: 663 | Зарегистр. 14-11-2015 | Отправлено: 23:25 01-03-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
С гордостью как у провинциального автослесаря, которому сподобилось делать тюнинг заехавшему Ламборгини модели Panel.CustomSortByAttributes.lua , докладываю следующее.  
 
— шорткатом вызова макроса сделал CtrlShift8  
(в целях соответствия с шорткатами, вызывающими другие макросы пользовательских режимов сортировки);  
 
— поменял местами хоткеи l и f, и стало: From &file и Off&line  
(понимаю, что Вы сделали O&ffline как в нативных диалогах, но, на мой взгляд, вероятно так будет интуитивнее, и послежу как пойдёт практика);  
 
— поменял All selected &Z на Strict ade&quacy  
(команда All selected вызывает у меня стойкую ассоциацию с требованием пометить все чекбоксы);  
 
— сделал макрос на шорткат CtrlShift8, действующий в диалоге Custom sort как кнопка Ok  
(два жмака подряд на шорткат в панелях быстро повторяет предыдущую сортировку);  
 
— макрос на шорткат CtrlShift0, выставляющий в диалоге в поле By attributes код 128  
(очищает поле ввода и все чекбоксы атрибутов и предполагает возможность последующей сортировки файлов по атрибуту Normal, в моей практике не так уж и редко применяемой);  
 
— макрос на шорткат CtrlShift6, выставляющий в диалоге в поле By attributes код 8487  
(помечает 6 чекбоксов с целью упрощения последующих манипуляций с чекбоксами при необходимости, тоже на пробу).  
 
И вроде бы всё работает.  
 
local guid = "A79390CE-5450-403A-8FAE-17EE3315CB38"
Macro { description="В диалоге сортировки файлов по атрибутам как Enter";
area="Dialog"; key="CtrlShift8";
condition=function() return Dlg.Id==guid end;
action=function() Dlg.SetFocus(23) Keys("O") end; }
 
 
Macro { description="В диалоге сортировки файлов по атрибутам в поле ввода поместить код 128";
area="Dialog"; key="CtrlShift0";
condition=function() return Dlg.Id==guid end;
action=function() Dlg.SetFocus(3) Keys("CtrlY 1 2 8") end; }
 
 
Macro { description="В диалоге сортировки файлов по атрибутам в поле ввода поместить код 8487";
area="Dialog"; key="CtrlShift6";
condition=function() return Dlg.Id==guid end;
action=function() Dlg.SetFocus(3) Keys("CtrlY 8 4 8 7") end; }
 

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 00:05 02-03-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
skipik001
 
Это элемент Lua-плагина c0link - _globalinfo.lua, c0link.lua, c0link-x64.dll.

Отправлено: 00:19 02-03-2016
Alexyz21



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

Цитата:
макрос на шорткат CtrlShift0, выставляющий в диалоге в поле By attributes код 128  
 (очищает поле ввода и все чекбоксы атрибутов и предполагает возможность последующей сортировки файлов по атрибуту Normal, в моей практике не так уж и редко применяемой);

В макросе НЕТ сортировки по атрибуту Normal, в нём ЕСТЬ сортировка по отсутствию остальных, первичных атрибутов, т.е. по 0. Маска легитимных (имеющих смысл) атрибутов игнорирует атрибут Normal. Предполагаю, что он был введён для ленточного бэкап оборудования, для того, чтобы стриммер прочитав Normal, сразу и однозначно понимал, что атрибут Archive сброшен, а не тратил время на его поиски, перематывая ленту туда-сюда в попытках найти его. Для дисковых носителей смысла в Normal нет.
 
Добавлять в диалог атрибут Normal, функциональность которого будет сводиться к сбросу всех остальных атрибутов, я смысла не вижу - так как эту функцию выполняет очистка поля ввода атрибутов. т.е. Normal избыточен, как я и говорил ранее - пятая нога в колесе.
 
VictorVG2
В моём варианте не требуется отдельная колонка - смысл в том, чтобы дописывать раскрытый линк к имени файла. т.е. можно указать напрямую local ColPName = "name", а в настройке режимов панелей <Name>. Вопрос мой к Shmuel состоял в том, можно ли ускорить получение имени, атрибутов и линка, например с помощью FFI.
   
 

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 08:26 02-03-2016 | Исправлено: Alexyz21, 08:48 02-03-2016
SSchumi

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VictorVG2
может, я конечно, мнительный, но у меня такое ощущение, что при запуске фар каждый день, он что-то делает, потому что думает наверно секунды 1.5-2, а если закрыть, открыть снова - уже быстро.
Но при этом если на следующий день опять закрыть/открыть фар - опять чуть дольше, потом нормально.
Комп я уважу в спящий режим вечером, а утром включаю.

Всего записей: 752 | Зарегистр. 06-04-2006 | Отправлено: 10:04 02-03-2016
brRamires

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

Код:
@chcp 1251>nul
@<cp1251.txt>utf8.txt (for /f "delims=" %i in ('find /n /v ""') do @chcp 65001>nul& set x=%i& cmd /v /c echo.!x:*]^^=!)

Почему, если построчно запускать этот код в Far, то он не работает как надо (мелькает новое окно cmd.exe и на выходе не та кодировка), а в cmd.exe работает? (если кто знает, подскажите ещё, почему без ^^ этот код вообще не хочет работать?)

Всего записей: 564 | Зарегистр. 28-09-2008 | Отправлено: 11:13 02-03-2016
Angel_Ka



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

Цитата:
В макросе НЕТ сортировки по атрибуту Normal, в нём ЕСТЬ сортировка по отсутствию остальных, первичных атрибутов, т.е. по 0. Маска легитимных (имеющих смысл) атрибутов игнорирует атрибут Normal. Предполагаю, что он был введён для ленточного бэкап оборудования, для того, чтобы стриммер прочитав Normal, сразу и однозначно понимал, что атрибут Archive сброшен, а не тратил время на его поиски, перематывая ленту туда-сюда в попытках найти его. Для дисковых носителей смысла в Normal нет.

Благодарю Вас за настойчивое разъяснение! И действительно, порыскав в инете убедился, что помимо применения к атрибуту Normal кода 128 (0x0080), есть таки также и практика применения кода 0 (0x0000). И поэтому, вняв Вашим наставлениям, внёс соответствующее изменение в макрос, навешенный на CtrlShift0: Keys("CtrlY 1 2 8"). Ещё раз спасибо!  

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 13:54 02-03-2016 | Исправлено: Angel_Ka, 14:00 02-03-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SSchumi
Renewal - Automatically check for updates
 
Добавлено:
Manual LUA FAR 3:

Цитата:
export.GetContentData
--------------------------------------------------------------------------------
Ret = export.GetContentFields (FilePath, Names)

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 14:28 02-03-2016 | Исправлено: Alexyz21, 14:35 02-03-2016
shmuz

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

Всего записей: 1857 | Зарегистр. 09-03-2012 | Отправлено: 15:09 02-03-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
Alexyz21
 
С атрибутом ты прав - тут ноги растут из времён первых мэйнфреймов Symens-Nixdorf 4004 и IBM S/360 когда этот признак читался микропрограммой канала В/В и групповой стойки управления НМЛ для принятия решения о записи файла на ленту - головки в блоке БМГ имели пермаллоевый (позже стекло-ферритовый) сердечник вдоль которого на скорости 5 - 6 м/с движется магнитная лента и стирает головы как наждак. Так что в итоге придётся разбирать протяжку, менять БМГ (а он стоит прилично), юстировать его положение в пространстве, регулировать под него усилители чтения и токи подмагничивания/записи, ну и делать ещё кучу ремонтной работы. И даже если всё есть под руками возни прилично и она накладна. Потому был придуман атрибут НОРМАЛ который проверяла ОС и микропрограмма по простой логике - если он установлен данные на ленту не пишем, сброшен - данные подлежат резервному копированию.
 
С колонкой понял.
 
SSchumi
 
У меня Renewal не используется, а скорее всего срабатывает стартовый скрипт rfar.cmd:

Цитата:
:For Far3 only! If on you system exists Far 1.x/Far.2.x and you use Far3 please, user runfar2.cmd
@echo off
@setlocal
:for use Far on "Read Only" device just remove : on start of next string
:@set key=/ro
@if defined PROCESSOR_ARCHITEW6432 (set reg="%systemroot%\sysnative\reg.exe"
     ) else (
     set reg=reg)
@echo REGEDIT4>%TEMP%\def.reg
@echo ; >>%TEMP%\def.reg
@echo [HKEY_CURRENT_USER\Software\Far Manager\Plugins\MultiArc]>>%TEMP%\def.reg
@echo "DefaultFormat"="RAR">>%TEMP%\def.reg
@reg import %TEMP%\def.reg > nul
@del /f/q %TEMP%\def.reg > nul
@del /s/f/q .\Profile\*.db-* > nul
@start /i .\Far.exe C:\ C:\ %key%

и чистит мусор, плюс выставляются параметры размера и шрифта консоли. Это так и задумано чтобы не было ошибок из-за сбойных БД. Если процесс Far.exe завершён нормально (код 0), то временных файлов журнала БД скрипт не отыщет и не будет их чистить - время запуска минимальное, если они есть запустится процесс восстановления целостности БД занимающий несколько секунд - запуск происходит чуть дольше.
 
Angel_Ka
 
Да, условная практика есть, но реальные причины её применения молодые специалисты трактуют ошибочно, а многие просто не знают.

Отправлено: 16:32 02-03-2016 | Исправлено: VictorVG2, 16:34 02-03-2016
dialmak01

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Понимаю, что возможно в этой суровой теме спрашиваю глупость, но все-таки вдруг
Кто нибудь может рассказать популярно о лучших практиках использования сабжа с ConEmu?

Всего записей: 343 | Зарегистр. 09-11-2015 | Отправлено: 19:28 02-03-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dialmak01
Лично мне в память запала такая "реклама" ConEmu, вполне соответствующая, при этом, действительности.  
Параллельно работать с двумя-тремя-четырьмя файлами одновременно удобно.

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 21:10 02-03-2016
dialmak01

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

Цитата:
Лично мне в память запала такая "реклама" ConEmu, вполне соответствующая, при этом, действительности.  

Да, спасибо, я знаю..

Всего записей: 343 | Зарегистр. 09-11-2015 | Отправлено: 21:20 02-03-2016
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 4)
Maz (23-11-2017 18:57): FAR Manager (часть 5)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru