JOE: действительно удобный текстовый редактор

Автор: Нейл Стюарт (Neil Stewart)
Перевод: Алексей Бешенов

2008-07-10

Оригинал: «JOE Joe’s own editor: a really usable text editor», 2 июня 2008 г.

В те времена, когда я был новичком в Linux, JOE оказался первым текстовым редактором, который я смог закрывать, не перезагружая компьютера. То, что я его использую до сих пор, много лет спустя — свидетельство простоты и мощи JOE. Если не хотите использовать EMACS (зачем запускать сразу две операционные системы?) и все еще не можете разобраться, как работать в VI, то JOE — для вас.

JOE запускается из командной строки как joe, либо joe файл — для редактирования файла. Когда JOE запустится, вы увидите одну панель с заголовком, отображающую информацию о положении курсора, текущем времени и сообщение «Crtl-K H for help» (^KH в обозначениях JOE). Так что если одновременно нажать Ctrl и K, отпустить, после чего нажать H, то в верхней части экрана появится краткий список команд. Там я и узнал, как выйти из программы (без перезагрузки), открыть новый файл и сохранить его; как переместить курсор, осуществить поиск и замену, переходить по словам и строкам, помечать участки текста и перемещать их. Можно продолжать редактировать файл с окном помощи наверху — так вы быстро научитесь работать в JOE.

JOE — еще и мощный редактор. Например, можно пропустить любую часть текста через команду интерпретатора. Хороший пример приводится в файле помощи JOE. Если отметить кусок текста, нажав ^KB в начале и ^KK в конце, а потом пропустить его через ^K/ sort, то JOE отсортирует строки. Мощно, особенно вместе со старыми верными командами вроде tr и sed.

Поиск с заменой тоже делаются просто: нажмите ^KF и введите текст для поиска. Здесь тоже есть мощные возможности: стрелками курсора можно пролистать предыдущие запросы (включая те, что делались в других сессиях); по нажатию Tab работает дополнение до слов текста. Далее можно выбрать, что делать с найденным. Для замены нажмите R и введите новый текст. Можно заменить все сразу, а можно и просмотреть все совпадения — ^L переходит к следующему. Еще доступны регулярные выражения — это же все-таки *NIX. Опять же, хороший пример есть в файле помощи. Если заменять \*,\*,\*$ (где \* соответствует нулю и более символов, а $ — концу строки) на \2,\1,\0 (где \n соответствует n-му шаблону), то строка «раз,два,три» превратится в «три,два,один». Откройте справку с ^KH и пролистайте с ^[. пару экранов, чтобы вспомнить о том, как работают регулярные выражения.

С макросами тоже все просто. Запись одного из десяти макросов начинается при помощи ^K[ и добавочной цифры n, а заканчивается при помощи ^K]. Затем для вызова макроса используйте ^Kn.

В JOE много других возможностей. Он запоминает положение в тексте и возвращается к нему при следующем открытии файла. По умолчанию работает подсветка C, Java, LaTeX, HTML и многих других форматов. Есть выравнивание кода, поддержка нескольких окон, закладки. Можно скомпилировать исходный кода из joe (^[C) и пролистать места, где компилятор обнаружил ошибки (^C= — следующая, ^C- — предыдущая).

Наконец, JOE — старая, стабильная и рабочая программа. В Etch и Lenny находится версия 3.5. Я использую JOE для всех нужд, дни напролет, и он никогда не подводил. Подробности смотрите в info joe или на домашней странице проекта.