Данный скрипт позволяет назначать на папки и файлы закладки (закладка может содержать ссылки как на одну, так и на несколько целей, для разных панелей; подробнее во встроенной справке скрипта) и переходить по ним (или запускать их средствами ОС), а также по переменным окружения, содержащим пути. Идея взята у Shell Bookmark (с) Max Rusov, текст написан с нуля.
Не требуются дополнительные плагины, чистый lua-скрипт;
Если закладка не опознана, нажатые клавиши возвращаются Far-у;
Закладки могут храниться и в локальном, и в глобальном профиле;
Локализация;
Встроенная справка;
Настройки хранятся не в файле скрипта, а в профиле Far-а;
Скрипт добавляет себя в меню плагинов и дисков;
Если имя набрано частично, предлагается выбор из меню;
Позволяет переходить по путям из переменных окружения;
Если значение закладки/переменной указывает на несколько целей, можо выбрать одну с помощью меню;
Цель можно не только выбрать в панели Far, но и выполнить системные команды "открыть" и "редактировать";
Позволяет работать с закладками через префиксы командной строки;
При работе с префиксами командной строки позволяет добавлять после закладки относительный путь;
Скрипт можно вызывать как функцию (подробности в справке).
Скрипт содержит три макроса.
Сохранение текущей папки в новой закладке.
Клавиша вызова: RCtrl+Shift/RAlt+последовательность клавиш.
Переход по закладке.
Клавиша вызова: RCtrl+последовательность клавиш.
Меню закладок и настроек.
Клавиша вызова: RCtrl+/.
bm - перейти по закладке/переменной окружения;
bma - добавить закладку;
bmal - добавить локальную закладку;
bmag - добавить глобальную закладку;
bme - редактировать в диалоге закладку;
bmel - редактировать в диалоге локальную закладку;
bmeg - редактировать в диалоге глобальную закладку;
bmr - удалить закладку;
bmrl - удалить локальную закладку;
bmrg - удалить глобальную закладку;
bmhelp - вызов справки.
Требуемая версия Far 3.0.4324+.
Версия 1.0 - Первый релиз.
Версия 1.0.1 - Исправлена ошибка, когда скрипт не запускался, пока не вызовешь меню закладок, мелкие правки
Версия 1.0.2 - Локализация работы с настройками, более корректная обработка ситуации, когда локальный и глобальный профили совпадают и когда не совпадают, мелкие правки
Версия 1.0.3 - Сообщение при сохранении новой закладки, мелкие правки
Версия 1.0.4 - Небольшая оптимизация формирования меню, поддержка плагиновых панелей, мелкие правки
Версия 1.1 - Поддержка установки одновременно активной и пассивной панели, мелкие правки. Экспериментально: изменён принцип хранения и загрузки языковых данных. Просьба отписаться в теме, который вариант лучше на Ваш взгляд. Если новый вариант понравится, внедрю его и в остальные свои скрипты с поддержкой настройки языка.
Версия 1.1.1 - Корректная обработка пустой строки
Версия 1.1.2 - Исправлена ошибка с обращением к старым языковым файлам, мелкие правки
Версия 1.2 - Расширение формата каталога. Теперь можно указывать панели: активную, пассивную, левую, правую. Изгнание io.lines. Если языка нет, подгружается английский, при загрузке настроек язык не подгружается, если не менялся. Мелкие правки.
Версия 1.2.1 - Срабатывание быстрых клавиш в меню RCtrl+/, рефакторинг, добавим uid-ы в макросы и пункт в меню плагинов.
Версия 1.2.2 - "&" в меню отрабатывался как акселератор, а не символ. Запрет вводить символы, которые нельзя ввести в сочетании с Ctrl.
Версия 1.2.3 - В версии 1.2.1 была поломана загрузка части параметров, в результате чего при некоторых комбинациях настроек скрипт падал при попытке создать новую закладку.
Версия 1.2.4 - Скрипт зачем-то вызывался из любых меню. Исправлено. В целях унификации с другими скриптами автора изменен механизм языковой настройки. Исправлена ошибка с разной шириной столбца закладок для локальных и глобальных закладок. Теперь в менеджере закладок по F4 закладка не копируется при её изменении. Для копирования жать F5.
Версия 2.0.0 - Помимо закладок поддерживаются переменные окружения (только переход на папки). Если закладка или переменная набрана частично, выводится список всех, содержащих набранный фрагмент. Мелкие правки.
Версия 2.0.1 - Мелкие правки.
Версия 2.1.0 - Добавлена работа из командной строки через префиксы. Можно переходить по закладкам и переменным окружения, добавлять/редактировать в диалоге/удалять закладки. Рефакторинг. Исправление кучи внезапно обнаруженных ошибок.
Версия 2.1.1 - Сокращённые меню позволяют все те же действия, что и полное. Комбинации RCtrlЦифра передаются Far-у, если такой закладки или переменной нет. Не совпадающие даже частично ни с одной закладкой или переменной окружения, содержащей путь, тоже.
Версия 2.1.2 - При вызове через префикс несуществующая комбинация не возвращается в виде нажатий клавиатуры.
Версия 2.2.0 - Настройка вынесена в отдельный диалог. Улучшены диалоги для совпадающих локального и глобального профилей. Переработана справка. Добавлен префикс для вызова справки. Мелкие правки.
Версия 2.2.1 - Исправлена ошибка, из-за которой не показывалась справка.
Версия 2.3.0 - Теперь можно использовать в командной строке конструкции вида "bm:<метка><подкаталог>", к примеру, "bm:фильмы\Мульфильмы\Фиксики". Nfo. Смена места хранения данных. Разделение префиксов. При выводе справки используется язык справки фара. Улучшение быстрого позиционирования в главном меню. Мелкие правки.
Версия 2.3.1 - В прошлой версии забыл сменить uid на id в зависимости от версии LuaMacro. Изменено определение Info.
Версия 2.4.0 - Скрипт можно вызывать из меню дисков; показываются только актуальные пункты. Исправлены замеченные ошибки. Мелкие правки.
Версия 2.4.1 - Исправлены свежевыявленные ошибки.
Версия 2.4.2 - Исправлена ошибка с вызовом меню при пустом списке закладок. Исправлены свежевыявленные ошибки в справке.
Версия 2.5.0 - Изменён формат хранения закладок в БД. Старый формат пока поддерживается. Рефакторинг.
Версия 2.5.1 - Исправлены некоторые недоделки и упущения предыдущей версии.
Версия 2.5.2 - Исправлен вызов из меню дисков, там же изменена логика работы.
Версия 2.5.3 - Теперь можно указать с помощью модификатора "C" необходимость смены панели. Подробности в справке.
Версия 2.5.4 - Работа над ошибками.
Версия 3.0.0 - Если в качестве цели указан файл, не просто переходим в папку, но и позиционируемся на файле. Возможно не только переходить в папку или на файл, но и выполнять системные контекстные команды "открыть" (выполнить) и "редактировать"; можно указывать действие в параметрах закладки. Можно указывать маски для пути (включая маску имени локального диска); основа алгоритма разработана buniak_a_h. Если элемент пути не найден, ищем его же, но в обрамлении "*" (настраивается). Скрипт теперь можно вызывать как функцию, параметры как для префиксов. При наборе последовательности символов она опционально отображается на экране. При неполном наборе закладки/переменной, если подходит всего один вариант, меню может не выводиться (настраивается). Отдельная настройка для показа переменных окружения в меню. Рефакторинг.
Версия 3.0.1 - Исправление ошибки с переходом в сетевую папку. Исправление справки. Рефакторинг.
Версия 3.0.2 - При вызове скрипта как функции без параметров ошибка не выдаётся. Исправлена ошибка при переходе в плагин.
Версия 3.0.3 - Исправлена ошибка при нажатии клавиш в режиме активной фильтрации. Предпочтительное место хранения закладок теперь настраивается. Доработан вызов action-функций с учётом введённых в build 717 параметров для condition/action. Рефакторинг.
Версия 3.0.4 - Исправлена работа диалога настроек. Дополнена справка по диалогу настроек.
Версия 3.0.5 - Исправлена работа с закладкой на файл. Дополнена справка по закладкам.
Версия 3.0.6 - Исправлена ошибка с удалением несуществующей закладки. Рефакторинг.
Версия 3.0.7 - Исправлена ошибка с ненужными сообщениями об удалении несуществующей закладки. Исправлена опечатка в английском языковом файле.
Версия 3.0.8 - Исправлена ошибка с некорректной обработкой модификатора "C". Небольшой рефакторинг.
Версия 3.0.9 - Исправлена ошибка с выводом информации о новой папке при переходе для правой панели.
Если в качестве цели указан файл, не просто переходим в папку, но и позиционируемся на файле.
Возможно не только переходить в папку или на файл, но и выполнять системные контекстные команды "открыть" и "редактировать"; можно указывать действие в параметрах закладки.
Можно указывать маски для пути (включая маску имени локального диска); основа алгоритма разработана buniak_a_h. Если элемент пути не найден, ищем его же, но в обрамлении "*" (настраивается).
Скрипт теперь можно вызывать как функцию, параметры как для префиксов. Подробности в справке.
При наборе последовательности символов она опционально отображается на экране. Цвет и положение настраивается. Кому мешает - выберите цвет "чёрное на чёрном".
При неполном наборе закладки/переменной, если подходит всего один вариант, меню может не выводиться (настраивается).
Отдельная настройка для показа переменных окружения в меню. Теперь можно пользоваться ими, но не видеть их в меню.
IgorZ wrote: ↑Fri 24 Jan, 2014 09:51
Данный скрипт позволяет назначать на папки и файлы закладки
Уточните пожалуйста как ставить в закладки пути к файлам? Есть ли для этого хоткей (т.е. встал на файл, нажал хоткей и этот файл добавился в закладки). А также правильно понимаю, что на один хоткей можно повесить только один путь (файл или папку), и нельзя на один хот кей повесить несколько объектов?
Last edited by Piton812 on Fri 06 Jul, 2018 22:35, edited 1 time in total.
IgorZ wrote: ↑Fri 24 Jan, 2014 09:51
Данный скрипт позволяет назначать на папки и файлы закладки
Уточните пожалуйста как ставить в закладки пути к файлам? Есть ли для этого хоткей (т.е. встал на файл, нажал хоткей и этот файл добавился в закладки). А также правильно понимаю, что на один хоткей можно повесить только один путь (файл или папку), и нельзя на один хот кей повесить несколько объектов?
Хоткей есть только для добавления папок (и перехода по любым закладкам). Файлы можно добавлять вручную в новые или существующие закладки через меню (вызывается по Ctrl/). Подробности - в справке (с поправкой: если где-то написано просто "папка", это, скорее всего, недоправлена справка, и надо читать "папка или файл"; где написано просто "файл", это про плагин и файл-контейнер, наподобие архивного).
for AP,Pnl in pairs({[1]=A,[0]=P}) do -- переберём панели (если есть)
. То есть ipairs там нет вообще.
Arama wrote: ↑Thu 12 Jul, 2018 18:11
А как почистить все следы от скрипта? Хочу начать жить заново с ним
Удобнее всего с помощью DBEdit. В LOCAL и GLOBAL входим в IgorZ и удаляем разделы, начинающиеся с BookmarkManager. Затем скачиваем актуальную версию (ошибка, подобная процитированной выше была только в одной версии и исправлена более полугода назад. К сожалению, та версия портила закладки при записи, поэтому, если нет желания разбираться по каждой, лучше действительно снести всё. Если желание есть, на предыдущих страницах темы это разбиралось, где-то в январе этого года.) и работаем.
Arama wrote: ↑Wed 25 Jul, 2018 11:59IgorZ
Почистил, поставил версию 3.0.0 от 16.05.18 размер 57590
Букмарки стали добавляться, но при попытки перейти получаю вот такое сообщение:
Здравствуйте. Я Far только начал изучать и как устанавливать различные плагины типа сабжа пока не знаю. Пока попробовал просто поместить lua-скрипт (версия 3.0.1) в директорию ./Scripts/ относительно установки Far и перезапустил Far. Описанный в стартовом посте интерфейс не работает. Уверен, что сделал что-то не так и чего-то не понимаю. Объясните пожайлуста.
1. Чтобы найти папку, куда копировать, выполните с комстроки cd %FARPROFILE%\Macros\scripts
2. Скопировать туда нужно всё содержимое архива, а не только Lua-файл.
3. Перезапустить Фар.
P.S. А ещё лучше - создать там подпапку BookmarkManager и распаковать архив в эту подпапку, чтоб не смешивался с другими скриптами.
Last edited by Shmuel on Thu 27 Sep, 2018 22:40, edited 1 time in total.
Shmuel wrote: ↑Thu 27 Sep, 2018 22:37
1. Чтобы найти папку, куда копировать, выполните с комстроки cd %FARPROFILE%\Macros\scripts
2. Скопировать туда нужно всё содержимое архива, а не только Lua-файл.
3. Перезапустить Фар.
P.S. А ещё лучше - создать там подпапку BookmarkManager и распаковать архив в эту подпапку, чтоб не смешивался с другими скриптами.
Спасибо. Похоже заработало. Извиняюсь что так долго не отвечал - всё же редко виндой пользуюсь.