Штепсели для файлового менеджера
АрхивЧто делал обычный пользователь лет этак семь назад, когда видел абсолютно черный экран с невзрачным приглашением 'C:\>'? Срочно набирал две заветные буквы nc и оказывался в привычных синих панельках Norton Commander, где все было просто и понятно. NC сейчас в далеком прошлом, а его современный аналог, менеджер FAR, известен в первую очередь тем, что использует плагины. Собственно, об этих плагинах мы и поговорим.
Что делал обычный пользователь лет этак семь назад, когда видел абсолютно черный экран с невзрачным приглашением «C:\>»? Срочно набирал две заветные буквы «nc» и оказывался в привычных синих панельках Norton Commander, где все было просто и понятно. NC сейчас в далеком прошлом, а его современный аналог, менеджер FAR, известен в первую очередь тем, что использует плагины - подключаемые модули, благодаря которым вы можете собрать собственную, уникальную версию менеджера с теми возможностями, которые нужны именно вам. Собственно, об этих плагинах мы и поговорим.
Философия
Задумав писать обзор по внешним модулям FAR, я заглянул на центральный сайт плагинописателей plugring.farmanager.com и понял, что сильно погорячился: на момент написания статьи там было 450 (!) различных модулей. Такое изобилие связано с тем, что плагины являются краеугольным камнем философии FAR. Отделить менеджер от его плагинов практически невозможно: большинство функций, которые кажутся встроенными в него - ftp-менеджер, поддержка сетевых дисков, список процессов - на самом деле реализуются с помощью внешних модулей, хотя пользователь об этом может даже не догадываться.
FAR создавался под лозунгом «долой рюшечки, да здравствует функциональность»: все разложено по полочкам, удобно и довольно легко поддается настройке. Клавиша F11 вызывает меню «Plugin commands» (рис. 1), из которого происходит запуск плагинов. Для ускорения работы можно записать макрос (Ctrl+«>» - начало и остановка записи макроса), запускающий нужный плагин с нужными параметрами, и назначить ему сочетание клавиш. Обычно авторы плагина предлагают какие-то «умолчальные» сочетания для его использования - установка такого сочетания производится запуском .reg-файла, входящего в поставку модуля. Например, чтобы ассоциировать стандартную клавишу вызова контекстного меню на win-клавиатурах с макросом EMenu (входит в поставку), нужно запустить файл Far\Plugins\EMenu\Hotkey.reg 1. Настройка всех модулей производится через OptionsХPlugin configuration («ПараметрыХПараметры внешних модулей»). Виртуальные панели некоторых плагинов, вроде ftp-менеджера, вызываются аналогично смене диска: Alt+F1/F2. Все четко и удобно. Остается только выбрать из всего многообразия дополнительных модулей именно то, что нужно вам.
Редактор
Встроенный редактор FAR’а - замечательная вещь. Особенно хорошо это понимаешь, когда нужно быстро отредактировать файл с нестандартным расширением вроде .list, не связанным с установленными приложениями.
Обычно плагины, предназначенные для работы именно в редакторе, устанавливаются в каталог Plugins\Editor, однако бывают и исключения. А запускаются они точно так же, как и вне редактора - через F11 или горячие клавиши.
Прежде всего я хотел бы отметить совершенно сногсшибательный плагин Colorer 4ever (рис. 1), предназначенный для раскраски текста в соответствии с синтаксисом и структурой - программисты знают, как облегчает подсветка синтаксиса написание и отладку кода. После установки и запуска хотелось воскликнуть «воистину форева!», настолько приятной оказалось работа модуля, состоящего из собственно плагина к FAR’у и библиотеки. Во-первых, раскраска очень быстрая, практически не тормозит работу редактора (в отличие, например, от Air Brush). Во-вторых, плагин позволяет раскрасить не только html-документ или программу на C++, но и практически любой текст, выделяя в нем логические элементы вроде номеров, знаков препинания и т.д. В результате читабельность обычного текста повышается на порядок! В-третьих, функция выделения парных конструкций (таких, как открытые и закрытые скобки и теги) при наведении на них курсора - тоже отличная вещь. Сюда же можно добавить огромное количество поддерживаемых языков, но плюсов и так уже достаточно. В общем, модуль вне конкуренции 2.
Весьма полезная функция, подключаемая к стандартному редактору - проверка орфографии. Этим занимаются модули gSpell и rSpeller. Оба используют API 3 от Microsoft, поставляемые вместе с Офисом последних версий, поэтому нормально понимают русский язык. У обоих сходные функции и возможности, но я бы отметил второй благодаря тому, что в нем очень мудро организовано выделение слов с ошибками: оно распространяется только на область вблизи курсора, что сильно ускоряет работу плагина. Еще одна функция rSpeller’а, полезная при неслепом наборе - при вводе слова с ошибкой редактор пищит через спикер - окончательно склоняет весы в его пользу.
Еще один плагин, который особенно понравится программистам, знакомым с Unix или пишущим на Perl, - Search And Replace. Как легко догадаться, он производит поиск и замену текста в текущем редактируемом файле. Но это далеко не все. Во-первых, плагин позволяет не только искать в файле, но и искать файлы, и производить замену в них в автоматическом режиме. Главной же возможностью является использование регулярных выражений, аналогичных perl/unix’овским, что открывает поистине грандиозные возможности для автоматической обработки текстовых файлов. Помимо этого, здесь есть и поиск в разных кодировках, и дополнительные критерии (размер, дата изменения файла), и возможность записи настроек для последующего использования - в общем, стандартный поиск Windows остается далеко позади.
Продолжая тему замены текста, отмечу модуль Runglish. Приятный плагин, позволяющий модифицировать выделенный текст, меняя кириллицу на транслит и обратно, исправляя раскладку клавиатуры и результаты случайного нажатия клавиши «Caps Lock», а также превращая некоторые символы в их html-эквиваленты (например, «>» в «>») и обратно.
Наконец, если вам часто приходится быстро просматривать html-документы, стоит приглядеться к HyperView. Он форматирует гипертекстовые файлы аналогично браузеру Lynx, сохраняя разметку настолько, насколько это возможно в текстовом режиме. К сожалению, текущая версия не поддерживает таблиц и работает не всегда стабильно, но если нужно быстро взглянуть на html-текст так, чтобы глаз не «спотыкался» о теги, а оформление не слишком важно - скажем, при чтении книг из библиотеки Lib.Ru, - то плагин становится просто незаменимым (сравните рис. 3 и 4).
Полезняшки
Некоторые плагины делают работу настолько удобной, что непонятно, как раньше без них обходился.
Во-первых, хочется рассказать о модуле Named Folders. Это что-то вроде папки «Избранное», только не для URL’ов, а для каталогов на дисках - локальных и сетевых. Чтобы поставить закладку на какой-то каталог, достаточно, находясь в нем, набрать в командной строке cd::name (прошу обратить внимание на два двоеточия). Чтобы потом вернуться в этот каталог, нужно набрать cd:name (одно двоеточие). Понятно, что вместо name здесь может быть любая метка. Более того, если вы забыли, какие метки соответствуют каким каталогам, команда cd: отобразит панель со списком всех меток. Замечательная вещь, особенно когда приходится часто переходить в каталоги с большой степенью вложенности.
Еще одна симпатичная утилита, расширяющая возможности командной строки - File name completion. Благодаря ей, если вы захотите перейти в каталог c:\home, достаточно набрать в командной строке «cd c:\h» (cd - DOS’овская команда смены каталога) и нажать комбинацию клавиш 4, чтобы получить нужную строчку. Работавшие в Linux знают, что это довольно удобно, хотя вызывать так программы и переходить в каталоги приходится не слишком часто.
Помните, в NC была такая функция: при просмотре по F3 графических файлов вроде .bmp или .pcx «Коммандер» переключался в графический режим и отображал не набор символов, а самый что ни на есть графический файл (иногда при этом зависая)? Возможности отображения графики мне очень не хватало в FAR’е. И, видимо, не только мне, так как на свет появился отличный плагин View Picture (рис. 5). Шустренький, поддерживает множество форматов, включая .psd, работает при нажатии F3 и при включении режима Quick view («Быстрый просмотр»), отображает картинку прямо в окне FAR’а - что еще нужно для счастья?
Наверное, для полного счастья не хватает еще и музыки. По крайней мере, так считают поклонники FAR’а: я обнаружил четыре пульта управления WinAmp’ом, реализованные в виде плагинов, в числе которых - FARAmp и FARAMP. Нет, это не опечатка - они действительно так называются, и это действительно разные плагины. В первом есть возможность настройки эквалайзера, а во втором довольно интересно реализован плейлист - он отображается как виртуальная панель FAR’а (подробнее о таких панелях чуть ниже). В целом же они оба позволяют вполне сносно управлять проигрывателем, не выходя из FAR’а и задействуя только клавиатуру (рис. 6).
Мышь
Видимо, FAR изначально оптимизировался под работу с клавиатурой, поэтому многих привычных функций мыши изначально нет, и их приходится заменять плагинами. Модуль Mouse2002 (рис. 7) позволяет не только выделять текст во встроенном редакторе мышью, но и вызывать контекстное меню (Undo, Cut, Copy, Paste), для чего обычно используется правая кнопка. Правда, здесь есть небольшой секрет: чтобы все работало так, как хочется, при правом клике мышью курсор должен находиться над выделенной областью, иначе выделение сразу снимется и пунктов Cut и Copy в меню вы не найдете.
Другой плагин, предназначенный для работы с мышью - Mouse Select++. Здесь реализован несколько иной подход к проблеме. Плагин также позволяет выделять текст в редакторе, но, в отличие от Mouse2000, не выводит меню по щелчку правой кнопки, а позволяет использовать Drag’n’Drop, копирование в буфер, если выделение производится при нажатой клавише Ctrl, вставку по Alt+Doubleclick и прочие не совсем привычные, но удобные вещи. Это уже дело вкуса.
Если ваша мышь оснащена колесиком, вам пригодятся плагины, позволяющие работать с ним в FAR’е. Однако сразу хочу предупредить, что при использовании всех перепробованных мною модулей наблюдается следующий эффект: если запущен FAR, то при сворачивании/разворачивании любых окошек заметно некоторое «торможение» курсора, которое может раздражать. Но если работа с колесиком для вас важнее мелких неудобств, то я бы отметил модуль WARPed Mouse Wheel как наиболее удобный с точки зрения настройки. Кстати, с ним и «торможение» не столь явно, как с некоторыми другими, хотя иногда он выдавал странную ошибку: любое движение мышью над своим окном FAR воспринимал как нажатие на «Enter».
Far+IntelliMouse - другая любопытная программа, реализующая возможность использования мышиного колесика в любых консольных приложениях, - фактически не является плагином, это самостоятельное приложение. Она перехватывает все движения колесиком в консольных окнах и заменяет виртуальным нажатием клавиш «вверх», «вниз» на клавиатуре.
Секреты FAR’а |
|
Панели
Как уже было сказано, некоторые плагины создают свои виртуальные панели, переход на которые осуществляется так же, как на другие диски, а иногда даже проще.
Начало этому положила технология доступа к архивам как к каталогам, имеющаяся еще в NC. В FAR’е же она была расширена и углублена благодаря стандартному плагину MultiArc, позволяющему рассматривать как каталог вообще любой файл, если только в самом MultiArc’е есть плагин второго уровня, обрабатывающий данный тип файлов. На этом принципе реализован доступ, например, к почтовым базам распространенных мейлеров: плагин DBX.fmt позволяет открывать как каталоги .dbx-файлы Outlook, а The Bat! Message Base - соответственно, The Bat. Весьма удобная функция, например, в случае, когда нужно найти какое-нибудь письмо в базе с почтовым архивом, находящимся на CD-R.
Пойдем дальше по списку «панельных» плагинов. FAR удаляет файлы точно так же, как и «Проводник», просто перемещая их в «Корзину», которую надо периодически чистить. Но если удаление - штатная функция менеджера, то для просмотра и работы с «Корзиной» вам придется установить плагин Recycle Bin. Впрочем, после установки вы поймете, что сделали это совсем не зря: возможностей у FAR’овской «Корзины» больше, чем у стандартной - здесь можно не только восстановить или окончательно удалить файл, но и просмотреть и/или отредактировать его, для чего раньше приходилось файл временно восстанавливать. Только не спрашивайте меня, зачем нужно редактировать удаленные файлы - я не знаю! Но в жизни, как известно, может всякое случиться.
Для запуска в FAR «Панели управления» Windows пригодится одноименный плагин Control Panel. Что о нем можно сказать? Со своей задачей справляется, а большего и не надо.
Если вы имеете (не)счастье быть пользователем MS Office 2000, то уже, скорее всего, смирились с тем, что Майкрософту лучше знать, где вы должны хранить свои файлы - а именно в каталоге «Мои документы» («Личная» в NT), и нигде больше. Плагин Far My Documents - своего рода «наш ответ Биллу Гейтсу» - позволяет переходить в «Мои документы» в FAR’е нажатием пары клавиш, добавляя этот каталог в список дисков.
Registry browser - еще один «панельный» плагин, замена стандартному regedit’у (рис. 8). С его помощью можно редактировать реестр так, как если бы он был каталогом, а ключи в нем были файлами. На мой взгляд, довольно удобно, хотя это опять-таки дело вкуса.
Если вы часто устанавливаете, а потом удаляете программы, то вам понравится модуль Uninstall, реализующий окно «Панель управления Х Установка и удаление программ» в FAR’е (рис. 9). Правда, этот плагин не создает виртуальной панели, а работает, как обычное FAR’овское окно, зато позволяет не только деинсталлировать программы, но и удалять записи об установке в реестре.
Все вышеперечисленные функции реализуются в FAR’е довольно успешно, а вот достойной «звонилки», заменяющей «Удаленный доступ к сети», мне найти не удалось. Плагин Ras4Far при попытке запуска вылетал с сообщением об ошибке (возможно, это какая-то несовместимость с моей системой). Другой претендент - FARDialer - почему-то отказался видеть мои Windows’ные соединения до тех пор, пока я не создал новое соединение собственно в плагине. Так что дозваниваться до провайдера лучше все-таки с помощью других программ.
Программистам
Все предыдущие внешние модули описывались с предположением, что они могут быть полезны широкому кругу пользователей. Но FAR в первую очередь пользуется популярностью у программистов, и с этим связано обилие модулей, заточенных именно на использование менеджера в программировании.
Function List - неплохой плагин, выдающий список функций в программе, написанной на C/C++ и некоторых других языках, и позволяющий перейти к любой из функций. К сожалению, при попытке использовать его в файле с исходником perl-программы он вылетел с ошибкой.
Если вы любите не только писать свои программы, но и рыться в ресурсных файлах чужих, интересным может оказаться модуль Resource Browser, - он позволяет заходить в .exe и .dll файлы как в каталоги (с помощью Ctrl+PgDown) и вытаскивать из них иконки, менюшки, курсоры и т.д. Модуль True Template также предназначен для программистов: он реализует режим auto-indent, аналогично редактору MultiEdit, когда отступы в программе ставятся автоматически в зависимости от структуры исходного текста. Кроме того, он автоматически вставляет некоторые элементы: например, если вы наберете ключевое слово class, вас быстро спросят, что именно за класс вы хотите создать, а когда вы ответите, «скелет» будущего класса появится сам собой.
Рецепт для установки плагинов |
|
Итоги
Полтысячи плагинов - это уж точно не мало. Скорее всего вы найдете среди них все, что вам нужно для работы, а если не найдете, можно написать новый модуль или попросить знакомого программиста сделать это.
Windows когда-то (до версии 3.11 включительно) был лишь операционной средой и конкурировал с NC. Возможно, сейчас мы присутствуем при рождении новой операционной среды, в которую, судя по количеству дополнительных модулей, превращается менеджер файлов FAR.
Из Windows выросла операционная система. Причем не какая-нибудь, а самая популярная на сегодняшний день. Кто знает, что получится из FAR’а в будущем?..
1 (обратно к тексту) - Более подробно об этом обычно пишется в readme-файлах. Кстати говоря, плагины FAR’а - это тот случай, когда читать readme все-таки имеет смысл: зачастую они не только содержат полезную информацию, но и написаны с изрядной долей юмора.
2 (обратно к тексту) - Описанный плагин - не первая и не единственная реализация функции раскраски и подсветки текста, аналогичные инструменты существовали еще в DOS-версиях известного редактора MultiEdit - С.Л.
3 (обратно к тексту) - Application Programming Interface - интерфейс для программирования приложений, обеспечивающий корректную работу сторонних программ в операционной системе.
4 (обратно к тексту) - Какую именно - зависит от настройки; здесь есть одна хитрость - см. readme-файл по плагину.