Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #63, ФЕВРАЛЬ 2006 г.

мышиный разгон

КРИС КАСПЕРСКИ АКА NEZUMI

Спецвыпуск: Хакер, номер #063, стр. 063-022-7


фар

Файловый менеджер FAR — один из самых удобных. Он существенно упрощает навигацию по диску и выполнение повседневных операций. Для многих хакеров он стал настоящим IDE (интегрированной средой разработки). Вплоть до версии 1.70 бета 5, выпущенной 10 апреля 2003 года, FAR поддерживал довольно примитивный механизм записи макрокоманд, позволяющий выполнять однотипные действия одним нажатием и переопределять стандартные сочетания клавиш, используемых FAR'ом.

Чтобы начать запись, достаточно нажать <Ctrl>+<.>. В верхнем левом углу тут же появляется красная буква «R», то есть Record. Далее все действия, совершаемые над FAR'ом, запоминаются в памяти. Повторное нажатие <Ctrl>+<.> останавливает запись, запрашивает ту горячую клавишу, которой будет вызываться макрос, и сохраняет его в реестре.

Казалось бы, что такое крутое можно сделать с помощью макросов? Допустим, ты установил плагин colorer и начал читать новеллу «Press Enter». Она не читается! Потому что по умолчанию colorer не подсвечивает диалоги, если натыкается на перенос строки. Как-то неаккуратно получается.

Нажимаешь <F11> для вызова меню плагинов, находишь там colorer, в нем выбираешь «list types» и пытаешься подобрать наилучший тип синтаксической подсветки, которой оказывается «x. scripts: Apache httpd.conf».

Все бы хорошо, но каждый раз лазить в меню colorer'а слишком утомительно. А макросы на что? Повесь «подсветку» на любую свободную функциональную клавишу, например на <F9>. Только тут есть одна тонкость. При входе в list types курсор находится на последнем выбранном типе, а он каждый раз разный. Как объяснить это макросу? Жми клавишу <Home>, переходя в начало списка типов, откуда уже спускаешься к строке «x. scripts: Apache httpd.conf»!

А вот другой хитрый пример. Допустим, захотелось переформатировать документ. В штатную поставку FAR'а входит плагин Align Block, позволяющий форматировать абзацы. После форматирования курсор оказывается там же, где и стоял, вынуждая перемещаться к следующему форматируемому абзацу вручную. Сплошной напряг! Перемещаешь курсор вниз, вводишь уникальную последовательность, заведомо не встречающуюся в документе (например «fuckthemall»), возвращаешь курсор наверх, форматируешь абзац, давишь <F7> (поиск) и вводишь «fuckthemall». Теперь FAR гарантированно перейдет на его начало. Нажимаешь <DEL> 11 раз, стирая «fuckthemall». Курсор стоит на первом символе следующего абзаца, то есть для переформатирования всего документа достаточно просто нажать горячую клавишу макроса и не отпускать ее!

Начиная с версии 1.70 alpha 6 макродвижок переработан и усилен. Появилась поддержка условных операндов, операторов цикла и функций. Теперь можно не просто записывать последовательности клавиш, но и, к примеру, считывать текущий элемент в меню. Например, ты можешь создать макрос, автоматически снимающий галочку Copy access rights при копировании на дискету (если она была взведена) и автоматически восстанавливающий ее содержимое при завершении. Старый макродвижок на это не способен в принципе.

Назад на стр. 063-022-6  Содержание  Вперед на стр. 063-022-8