Primus inter pares
(Первый среди равных)
В этой записке мы будем говорить о программах (удивил?). Если быть
точным, то речь пойдет об одной программе, которая называется Far.
Far — это «File and Archive Manager», что переводится как «Я
справлюсь с вашими файлами и архивами лучше всех». В начале чуточку
истории. Автором этой программы является Евгений Рошал, тот самый,
который написал архиватор Rar. Но в отличие от Rar, Far не получил
полноценного признания на Западе, а в то, что нашему программисту
способны заплатить денежку наши же программисты не верит никто.
Особенно наши же программисты
Чтобы не заниматься самообманом,
для ex-USSR Far был бесплатен. В результате Женя делал программу
почти за спасибо до тех пор, пока не надоело, после чего передал
исходники группе Far Team, собранной из самых лучших и самых активных
писателей плагинов. Теперь именно они внедряют новые фичи, исправляют
старые баги, а Женя выполняет роль э… продюсера?
Да, кстати, о плагинах. Основная прелесть Far’а в том, что он в
некоторой степени расширяем за счет плагинов. Плагины пишутся на
языках C, C++, Delphi, Virtual Pascal, и прочая, прочая… Сейчас
число плагинов огромно, и многое из того, что вам нужно, уже
реализовано.
В принципе плагины берутся на домашних страничках их авторов. Но
есть секрет полишинеля — все плагины можно найти в одном месте -
Far PlugRinG.
Все очень удобно разложено по категориям, есть
поиск и возможность узнать, какие плагины появились за
последние месяц-другой. Общее их количество так велико (>350 по моим прикидкам),
что я решил описать те из них, которые могут оказаться полезными не только мне,
но и кому-либо еще.
Итак, лично я устанавливаю помимо стандартных плагинов также:
ASCII Table
- таблица символов. Нет лучше способа узнать код
символа или, наоборот, выяснить, какой символ соответствует данному
коду.
AutoCompletion
- плагин для редактора, автоматически завершаюший слова в процессе набора.
Каюсь, автоматический режим, включенный по умолчанию, я отключил сразу же — мне неудобно.
Однако оставил завершение по нажатию специально обученной клавиши.
Для этого была выделена комбинация Ctrl-Space. Работает
плагин очень просто — сканирует весь текст, ищет слова, которые начинаются
с тех же букв, что и набираемое слово и предлагает их в виде меню. Если такой
вариант один, то ничего не предлагает — молча вставляет. Фантастически ускоряет
набор текстов. Вот и сейчас — вместо того, чтобы набрать слово «плагин», я набираю
только «пл» и жму «Ctrl-Space», а умное животное
превращает его в «плагин».
Branch
- строит список из всех файлов текущего каталога и
его подкаталогов. Фактически мы видим все файлы из подкаталогов на
одной панельке, как если бы они лежали в одном каталоге.
Это может пригодиться для поиска, удаления или копирования групп файлов
расположенных в разных подкаталогах. Также это может понадобиться для
очистки дерева каталогов без удаления самих каталогов.
Calculator
- калькулятор.
CopyVFD
- копирование файлов на дискету с проверкой записи. Иногда
приходится что-либо переносить на дискете и хочется, чтобы это самое
«что-либо» до места назначения добралось в неизмененном варианте.
Colorer
- пожалуй, самый известный плагин, выделяет в
редакторе ключевые слова того языка программирования, которому
соответствует расширение редактируемого файла. Большому числу языков
Colorer уже научен, и скорее всего его не придется настраивать. Но
если вы используете что-то экзотическое, что ж, регэкспы вам в
руки…

тэг table и скобки подсвечиваются Colorer’ом, окошко со свойствами — дело рук HTMLEditor’а
HTML Editor
- полезная вещь, когда HTML-странички набираются в Far’е.
Позволяет очень удобно отредактировать свойства текущего тэга или,
скажем, вставить коды символов. Больше вам не придется запоминать, что © -
это ©
Date-n-Time
- плагин, который позволяет вставлять в редакторе
текущую дату и время в нужном вам формате. Я когда в программах делаю
patch’и, обязательно проставляю дату — помогает потом разобраться, откуда
взялись новые баги
Far Navigator (ProxyFTP)
- замена стандартному плагину для работы с FTP.
Умеет работать через proxy и превращает Far во вполне приличного
FTP-клиента, которого вполне хватит для того, чтобы залить странички
вашего сайта на сервер.
Find All
- позволяет найти сразу все вхождения образца поиска.
Ищете вы, к примеру, этим плагином в тексте программы фразу «format c:»
и получаете все найденные строки, содержащие ее, в виде меню. Выбираете
нужную и оказываетесь в соответствующем месте программы. Просто удобно.
Macro View
- в Far встроена возможность назначить клавишам
макропоследовательности. Причем происходит это не очень очевидно — вы
жмете «Ctrl-.», затем нажимаете кнопки, задающие
макропоследовательность, опять «Ctrl-.» и после
этого указываете на какую именно клавишу все это нужно «повесить». В
общем, все проделывается вслепую. Да к тому же редактора, увы, не
встроено — предлагается править ручками в реестре. Данный же плагин
превращает эту процедуру во что-то осмысленное, позволяя задавать
макропоследовательность не нажатием клавиш, а указанием их названий в
отдельном окне. То есть пишем что-то вроде «CtrlG e x p l o r e r Space . Enter»
и вешаем на «Ctrl-,». Теперь при нажатии
«Ctrl-,» у нас вызывается Explorer в текущем
каталоге. Удобно! А еще можно … Впрочем, нет, о макросах как-нибудь
позже, сейчас
по-быстрому завершу описание плагинов.
Search and Replace
- поиск и замена с использованием регулярных
выражений. Если ты на вы… тьфу… если вы на ты… если ты на ты…
В общем, если вы на короткой ноге с UNIX’ом, то это плагин — для вас. Причем
поиск и замену можно учинить не только в пределах одного файла, но и в пределах
каталога. Была, скажем, у меня public переменная «cnt12_1″, которой я решил дать
длинное мнемоническое имя «CounterForCrazyDummies», а поскольку она public, то
используется не в одном файле. При обычном раскладе пришлось бы мне с полчаса
шерстить все исходники, на предмет поиска-замены. А с этим плагином — выделяю все
файлы, которые хочу обработать и опаньки! Хочу только предупредить — если вы не гуру
в регулярных выражениях, то не отключайте режим подтверждения каждой замены, ибо
рискуете получить немного не те результаты, которые ожидали. Написать кривой
регэксп — дело нехитрое.
True Template
- весомейший довесок к редактору. Позволяет
автоматически форматировать набираемую программу. К примеру, если вы
пишете на C, то после «{» вам больше не придется делать отступы
самостоятельно — за вас это сделает плагин. Или еще… Наберите в
редакторе «for» и нажмите пробел. В результате вы получите:
for (;;){
_
}
Причем все это настраивается очень и очень легко. Описанный трюк с
«for» в конфигурационном файле выглядит примерно так:
<Language "*.[c,h]pp,*.[c,h]" ignoreCase=0 Desc="C/C++ sources">
<Expand "f|or" To="for (\p;;){\n}">
Резюме
Поставив все это, понимаешь, насколько удобная это вещь — Far. И пусть
злобствуют фанаты
DOS Navigator’а и WC, пусть Spectator пишет,
что «Я не юзаю FAR, а пользуюсь стандартным эксплорером», Far Manager — это наш выбор!
В общем все вперед, стройными рядами и колоннами выкачивать
Far. Не забудьте про плагины.
И еще. Вопросы, касающиеся Far’а и его плагинов всегда можно
обсудить в специальном листе рассылки. Для вступления в него
напишите письмо на plugring-subscribe@yahoogroups.com.
Для отправки сообщений в лист используйте адрес plugring@yahoogroups.com.