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

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

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

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

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-плагинов для хранения настроек плагинов в папке профиля, а не в реестре
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

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

Всего записей: 35986 | Зарегистр. 26-02-2002 | Отправлено: 18:55 23-11-2017 | Исправлено: Victor_VG, 08:15 29-06-2019
citPiks



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Так рапорт, создаваемый макросом BOOM!.luaСсылка, стал выглядеть стройнее.

Всего записей: 66 | Зарегистр. 26-06-2016 | Отправлено: 20:15 09-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child
 
Если диалог модальный, т.е. выведен находящимся в состоянии ожидания процессом то это можно с помощью  Process Hacker (РН) увидеть - открываем в списке процессов зависшее приложение - в мини окне РН в трее около него будет стоят красная пометка Not resonded (не отвечает) и двойным кликом по его строке мы перейдём к его процессу. На его имени жмём Enter или дабл клик, либо нажимаем Apps на клавиатуре, открываем вкладку Threads в свойствах процесса и смотрим по счётчикам использования ЦП какой именно поток находится в состоянии максимально долгого счёта. А по вкладке Handles смотрим к каким объектам ОС он обращается. Через РН увидим и список открытых программой окон - вкладка Windows её свойств, а так же сможем нормально либо аварийно завершить любой поток (Thread) программы или выгрузить зависший модуль на вкладке Modules. Del - завершить один или группу процессов и потоков, либо закрыть хендлы. Shift-Del завершить выбранное дерево процессов (по одному дереву за операцию).  
 
И я бы ещё посмотрел не конфликтуют ли локальные скрипты или иные программы с Far в момент выполнения фоновой задачи.  
 
Добавлено:
Alexyz21
 
Boom!.lua - отлично вышло, а главное удобно то, что сразу видно кодировку файлов, а то иной раз редакторы могут неверно её детектить, особенно для ANSI/ASCII/KOI-7/KOI-8/DKOI-8. Не учёл что-то человек и это вылезло на экране не читаемым текстом...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 23924 | Зарегистр. 31-07-2002 | Отправлено: 00:55 10-08-2019
citPiks



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Выше, я задавался тремя практическими вопросами о детекте файлов с BOM. На два из которых (о пометке и о сортировке таких файлов) Вы уже блестяще, на мой взгляд, ответили.
 
И теперь с реализацией Вами отличной идеи о рапорте в макросе BOM!.lua, может быть Вы решите и вопрос о поиске файлов с BOM в папке и подпапках? Нельзя ли распространить сферу действия макроса на подпапки и результат передавать не только в файл, но и на временную панель?  
 
И ещё. Полностью согласен с Victor_VG:
Цитата:
Boom!.lua - отлично вышло, а главное удобно то, что сразу видно кодировку файлов...
А может быть Вы сделаете ещё один макрос (аналогичный BOM!.lua по функциональности) с детектом кодировок уже вне зависимости от наличия бомов в файлах? Хотя бы основных — 1251, 866, 65001, 1200. Полагаю, что такой макрос также был бы чрезвычайно полезным.
 

Всего записей: 66 | Зарегистр. 26-06-2016 | Отправлено: 03:49 10-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
citPiks
 
С детектором в отличии от ВОМ так просто не выйдет так как для этого применяется статистический метод частотного анализа - для любого естественного языка известна частота встречи символов алфавита на достаточно большой по объёму выборке, и получив частотное распределение символов можно определить кодовую таблицу использованную для его кодирования. Так как в каждой кодовой таблице символам алфавита соответствуют свои коды. Но у метода частотного анализа есть принципиальный недостаток - на небольших выборках (коротких текстах) у него очень высока вероятность ошибки. Для него нужды выборки в десятки тысяч символов и более - тогда он даёт стремящуюся к нулю вероятность ошибки, а на коротких (до нескольких сотен символов) текстах вероятность ошибки данного метода стремится к единице.
 
Это математика лежащая в основе таких библиотек детектирования кодовых страниц как Mozilla UCD (применяется в том числе и в Far), но реализация данной задачи средствами скрипта без использования средств ОС через FFI мне кажется затруднительной, если вообще возможной. А использование FFI с учётом того, что в десятке каждый день по сто бестолковых изменений приходит, и все под предлогом заботы о пользователе, по моему выглядит танцем под виселицей на минном поле...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 23924 | Зарегистр. 31-07-2002 | Отправлено: 05:43 10-08-2019
Pasha_ZZZ



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
citPiks
BOM для конкретной кодировки вполне себе ищется стандартным поиском. Например для UTF-8:
  • искать 16-ричный код
  • содержащих EF BB BF
  • Дополнительно - искать только в первых 3

  • Всего записей: 8178 | Зарегистр. 11-03-2002 | Отправлено: 06:22 10-08-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    citPiks
     
    Немного усовершенствовал скрипт Boom!.lua добавив в него возможность интерактивного выбора пути сохранения и имени отчёта. Портить диалог добавлением поля ввода "Путь сохранения отчёта" считаю лишним, потому при указании отчёта пользователю выводится запрос куда и под каким именем сохранить отчёт. Если в этом диалоге ничего не вводить и нажать Enter, то отчёт сохранится в %TMP%\boom.txt. Так же добавил небольшую "защиту от дурака" на нажатие Esc в диалоге ввода пути к отчёту. Отчёт сохранится по пути %TEMP%\boom.txt, но может быть видимая "задержка срабатывания" скрипта - а нечего ручки шаловливые распускать.  
     
    Скрипт Shell_SelBOM.lua.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 23924 | Зарегистр. 31-07-2002 | Отправлено: 09:12 10-08-2019 | Исправлено: Victor_VG, 18:20 11-08-2019
    citPiks



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

    Цитата:
    С детектором в отличии от ВОМ так просто не выйдет

    Жаль. Но, может быть, найдётся ещё какой нибудь обходной вариант?

    Цитата:
    Скрипт Shell_SelBOM.lua.

    Спасибо! Но посмотреть смогу только завтра, убегаю по семейным делам.
     
    Pasha_ZZZ
    Спасибо за подсказку! Вот на такой основе можно и самому макрос составить попробовать. А то в великолепных макросах от Alexyz21 даже и прочитать меньше процента кода могу, не то, что что-то перенять.  

    Всего записей: 66 | Зарегистр. 26-06-2016 | Отправлено: 09:25 10-08-2019
    Alexyz21

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

    Цитата:
    Немного усовершенствовал скрипт Boom!.lua добавив в него возможность интерактивного выбора пути сохранения и имени отчёта. Портить диалог добавлением поля ввода "Путь сохранения отчёта" считаю лишним, потому при указании отчёта пользователю выводится запрос куда и под каким именем сохранить отчёт.

    Не добавлял - мышко-тыкательного диалога нет, городить что-то такое нет смысла, потому в %TMP%. У меня он, вообще, рабочая папка - постоянно открыт на 2-ой панели и там проходит весь рабочий "движ".
     
    Свои пути сохранения имеет смысл реализовать если только с историей, чтобы не нужно было набирать ранее введённый, просто жать Enter на нём, либо выбрать из хистори-списка. Но опять же, если есть необходимость сохранять по разным "стационарным" путям, в противном случае заменили путь на свой в коде и всё.
     
    Добавлено:
    citPiks, рекурсия по подпапкам не нужна - есть плаг Branch, он рекурсивно обегает всё файловое дерево и результат выносит на панель, на ней и бумим.
     
    UP. Обновил BOOM!.lua - v1.0, добавлена история путей сохранения.
     

    Всего записей: 1584 | Зарегистр. 16-06-2007 | Отправлено: 09:47 10-08-2019 | Исправлено: Alexyz21, 12:25 10-08-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alexyz21
     
    У меня на панелях  времянки редкость, вот сетевые каталоги в дереве NFS - штатное явление, вдобавок они вечно меняются и потому я и решил что есть смысл отключить историю в mf.prompt(), хотя и включить её не долго.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 23924 | Зарегистр. 31-07-2002 | Отправлено: 12:46 10-08-2019
    Alexyz21

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    ShiftDel на записи в развёрнутом списке и запись удалена

    Всего записей: 1584 | Зарегистр. 16-06-2007 | Отправлено: 12:57 10-08-2019
    Victor_VG



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

    Цитата:
    LuaMacro
     *\Far\Profile\Macros\scripts\Shell_SelBOM.lua:97:
     attempt to index local 'h' (a nil value)
     Stack Traceback

    я это при отладке сразу заметил и добавил проверку длины введённого значения на ноль в if mf.len(k) ~= 0 then f=k end, а от аналогичного падения по "Esc" защищает проверка в if not mf.waitkey(0,0) == "Esc" then .... end. Ну а замена индексной переменной "i" на "x" это уже наша система ругалась на "нарушение порядка  вложенности тэгов". Можно было просто буквы в индексе удвоить, а я выбрал заведомо не "ВВ-кодную" Х.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

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

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

    Всего записей: 1584 | Зарегистр. 16-06-2007 | Отправлено: 13:50 10-08-2019
    Victor_VG



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

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 23924 | Зарегистр. 31-07-2002 | Отправлено: 17:06 10-08-2019
    Alexyz21

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShiftF12 (выделенные вперёд) меняют номера итемов, полученных в 2 массива itm0,itm1

    Код:
    local ItemsNumber=panel.GetPanelInfo(nil,1).ItemsNumber
    for Item=1,ItemsNumber do
      local GPItem=panel.GetPanelItem(nil,1,Item)
      table.insert((GPItem.FileAttributes:find("d") or process(GPItem.FileName,ChkBOX)==0) and itm0 or itm1,Item)
    end
    panel.SetSelection(nil,1,itm0,false)
    panel.SetSelection(nil,1,itm1,true)
    panel.RedrawPanel(nil,1)

    - это нормально? Если ShiftF12 неактивирован, то номера итемы при новом обходе получают прежние, иначе он вщемливается между 2-мя SetSelection(), но как-то не массово, путает всего лишь 1-2 файла. Какой-то странный асинхрон. У меня он проявляется устойчиво.  
     
    Как повторить - содаём пустую папку, кладём в неё 5 файлов, по 1-му с каждым бом.  
    1. Вызываем в этой папке BOOM!.lua, снимаем крыжик с UTF8, ставим на 32BE, Enter - выделен 32BE
    2. снимаем и ставим 32LE, Enter - выделен 32LE
    3. снимаем, ставим на 32BE, Enter - выделен 32BE.
    - работает как надо.
    Активируем выделенные вперёд ShiftF12, вызываем boom, повторяем 1-2-3, на 3 выделяется не 32BE, как ожидается, а 16LE. Но в предыдущий раз мы удостоверились, что скрипт работает правильно, деактивируем ShiftF12 и убеждаемся в этом снова, т.е. дело в ShiftF12 - он меняет номера у итемов.

    Всего записей: 1584 | Зарегистр. 16-06-2007 | Отправлено: 23:19 10-08-2019 | Исправлено: Alexyz21, 23:42 10-08-2019
    Alexyz21

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Отправка личных сообщений не работает, хотел DrKnS написать.

    Всего записей: 1584 | Зарегистр. 16-06-2007 | Отправлено: 08:25 11-08-2019
    citPiks



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

    Цитата:
    Скрипт Shell_SelBOM.lua.

    У меня при вызове данного скрипта выскакивают 2 последовательные ошибки:
    Подробнее...
     
    Добавлено:
    Alexyz21

    Цитата:
    Обновил BOOM!.lua - v1.0, добавлена история путей сохранения.

    Вроде бы, работает как надо. И, да, с дополнительным сервисом обращаться стало ещё удобнее. Спасибо!
     
    Добавлено:
    добавлено: Alexyz21

    Цитата:
    ShiftF12 (выделенные вперёд) меняют номера итемов, полученных в 2 массива itm0,itm1

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

    Всего записей: 66 | Зарегистр. 26-06-2016 | Отправлено: 12:48 11-08-2019
    Alexyz21

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

    Всего записей: 1584 | Зарегистр. 16-06-2007 | Отправлено: 14:49 11-08-2019
    citPiks



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    После совета Pasha_ZZZ:
    Цитата:
    BOM для конкретной кодировки вполне себе ищется стандартным поиском…
    из спортивного интереса составил для своего пользования однотипные макросы поиска бомов UTF-32 LE, UTF-32 BE, UTF-16 LE, UTF-16 BE и UTF-8. И опробовал эти макросы на практике в сопоставлении их действия с действием макроса BOOM!.lua от Alexyz21.  
     
    И убедился, что работать с BOOM!.lua на много удобнее и быстрее. Прежде всего тем, что он показывает бомы не только порознь, но и любыми совместными группами. В т.ч. может показать и все одновременно.  
     
    К примеру, для выявления файлов без установленных бом-меток, я делаю так: запускаю BOOM!.lua в заранее сформированном бранче (его можно создать плагином или просто консольной командой) в режиме [х] All и потом убираю с временной панели помеченные макросом файлы — и остаются искомые безбомные.  
     
    Отличным подспорьем в обработке файлов с бомами / без бомов является Рапорт, создаваемый макросом BOOM!.lua по выбору пользователя.  
     
    Хотя и те макросы, которые удалось составить мне самостоятельно, тоже периодически можно применять, если вдруг, например, требуется быстренько, без привлечения плагинов, найти во вложенных папках всего лишь файлы с однотипной бом-пометкой. Этот набор макросов приводится здесь.

    Всего записей: 66 | Зарегистр. 26-06-2016 | Отправлено: 14:57 11-08-2019 | Исправлено: citPiks, 20:01 11-08-2019
    Victor_VG



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

    Цитата:
    У меня при вызове данного скрипта выскакивают 2 последовательные ошибки:  

    Исправил. Fix typo.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 23924 | Зарегистр. 31-07-2002 | Отправлено: 17:50 11-08-2019
    Maikl65

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Начиная со сборки 3.0.5448 при старте FAR x64 начала вылетать ошибка "Ошибка при загрузке плагина C:\Program Files\FAR64\plugins\imageview\ImageView.dll Не найден указанный модуль." При этом сборка x32 работает нормально, равно как и x64 при замене данного плагина на соответствующий плагин из сборки 3.0.5447.

    Всего записей: 1812 | Зарегистр. 01-11-2004 | Отправлено: 18:08 11-08-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

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

    Имя:
    Пароль:
    Сообщение

    Для вставки имени, кликните на нем.

    Опции сообщенияДобавить свою подпись
    Подписаться на получение ответов по e-mail
    Добавить тему в личные закладки
    Разрешить смайлики?
    Запретить коды


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2018

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru