Provided by: joe_3.7-1_i386 bug

Название

       joe - Joe's Own Editor

Использование

       joe [global-options] [ [local-options] filename ]...

       jstar [global-options] [ [local-options] filename ]...

       jmacs [global-options] [ [local-options] filename ]...

       rjoe [global-options] [ [local-options] filename ]...

       jpico [global-options] [ [local-options] filename ]...

       jice [global-options] [ [local-options] filename ]...

Описание

       JOE  - мощный текстовый редактор. Он обладает экранным пользовательским
       интерфейсом, подобно многим дружественным пользователю  редакторам  для
       PC.  Пользователи  WordStar  от Micro-Pro или "Турбо"-языков от Borland
       почувствуют  себя  с  ним  как  дома.  В  то  же  время  JOE   является
       полнофункциональным  текстовым экранным редактором для UNIX, и обладает
       массой функций для редактирования программ и текстов.

       JOE также эмулирует несколько других редакторов. JSTAR -  это  имитация
       WordStar  со  многими  расширениями  JOE.   JPICO - имитация текстового
       редактора PICO, используемого в почтовой системе PINE,  но  со  многими
       расширениями  и  улучшениями.   JMACS - это имитация GNU-EMACS.  JICE -
       настроенный на использование функциональной клавиатуры  в  традиционном
       PC-стиле редактор, рекомендуемый для использования в комплексе программ
       бухучета  iceB.   RJOE  -  урезанная  версия  JOE,  которая   позволяет
       редактировать только файлы, указанные в командной строке.

       Хотя  JOE выглядит ка шесть различных редакторов, он в действительности
       представляет собой единственную  исполняемую  программу,  но  с  шестью
       разными  именами.  Имя редактора вместе с суффиксом "rc" составляют имя
       инициализационного файла JOE, который  определяет  внешние  особенности
       редактора.

       JOE   -   свободная   программа;   вы   можете   распространять   и/или
       модифицировать его в соответствии  с  положениями  GNU  General  Public
       License, опубликованной Free Software Foundation.  У меня нет планов по
       превращению JOE в коммерческий или share-ware  продукт.   JOE  доступен
       через Internet по адресу www.sourceforge.net/projects/joe-editor.

Использование

       Для  запуска  редактора  введите  имя  joe,  можно со следующими за ним
       именами редактируемых файлов.  Каждому имени файла могут предшествовать
       ключи  локальных опций (ниже см. таблицу локальных опций).  В командной
       строке также могут быть указаны ключи глобальных опций,  воздействующие
       на  редактор  в  целом  (ниже  см.  таблицу  глобальных опций). Если вы
       редактируете новый файл - можете  указать  его  имя  либо  в  командной
       строке  при  запуске редактора, либо из редактора при сохранении файла.
       Предоставляется специальный синтаксис имени  файла  для  редактирования
       вывода  программ,  стандартного  ввода/вывода  или  участков файлов или
       устройств. Подробности см. ниже в разделе Имена файлов.

       Запустив редактор,  вы  можете  вводить  в  нем  текст  и  использовать
       специальные  управляющие последовательности для выполнения других задач
       редактирования.   Описание  того,   что   выполняет   та   или   другая
       последовательность,  вы  можете найти ниже в этом справочом руководстве
       либо набрав в редакторе ^K H для получения подсказки.

       Замечания по некоторым общепринятым договоренностям:

       ^ значит, что вы удерживаете  клавишу  Control  при  нажатии  указанной
       далее  клавиши  (аналогично  тому,  как  работает Shift для ввода буквы
       верхнего   регистра).    Некоторые    управляющие    последовательности
       дублируются  другими  клавишами,  так  что  вам  не  всегда обязательно
       нажимать Control: ESC работает как ^[, Del - как ^?,  Backspace  -  ^H,
       Tab  -  ^I,  Return  или Enter - это ^M и Linefeed может использоваться
       вместо ^J.  На  некоторых  клавиатурах  отдельные  управляющие  клавиши
       могут  не  работать.   ^_,  ^^  и  ^@ обычно вводятся без нажатия Shift
       (т.е., пробуйте ^-, ^6 и ^2).  На других клавиатурах эти клавиши  могут
       быть  переназначены.   Попробуйте:  ^.,  ^, и ^/.  ^ПРОБЕЛ обычно можно
       использовать   вместо   ^@.    ^\   и   ^]   интерпретируются   многими
       коммуникационными  программами, включая telnet и kermit.  В этом случае
       вам придется нажать  данную  клавишу  дважды,  чтобы  прорваться  через
       коммуникационную программу.

       После  нажатия  ^K  H  в  верхней  части  экрана  появится  первое окно
       подсказки. Вы можете продолжать вводить и редактировать текст, пока оно
       там  находится. Для листания подсказки используйте ^[, и ^[. (т.е., ESC
       , и ESC .).  Нажмите ^K H снова для закрытия окна подсказки.

       Вы можете настроить раскладку клавиатуры, окна  подсказки  и  различное
       поведение  редактора,  скопировав  инициализационный  файл  JOE (обычно
       /etc/joe/joerc)  в  .joerc  в  вашей  домашней   директории   и   затем
       отредактировав его. Ниже см. раздел joerc.

       Чтобы  использовать  JOE в качестве редактора по умолчанию для e-mail и
       News, вам необходимо установить переменные  среды  EDITOR  и  VISUAL  в
       стартовом командном файле вашего шелла (.cshrc или .profile) так, чтобы
       они ссылались на JOE (joe обычно располагается в /usr/bin/joe).

       Также имеются  некоторые  специальные  параметры  выполнения,  которые,
       возможно, придется установить, в частности, если экран вашего терминала
       изменяется не так, как вы этого ожидаете. См. раздел  Переменные  среды
       ниже.

Опции командной строки

       В командной строке могут быть указаны следующие глобальные опции:

       -asis  Символы  с  кодами  большими,  чем  127,  будут  передаваться на
              терминал как есть, вместо преобразования  их  в  соответствующие
              символы  с  кодами  меньшими  128.  Если  это  не  срабатывает -
              проверьте ваш терминальный сервер.

       -backpath path
              Если эта опция задана - файлы резервных копий будут  создаваться
              в   указанной   директории,   а   не   в   "родной"   директории
              редактируемого файла.

       -baud nnn
              Установить скорость передачи для оптимизации экранного  вывыода.
              Joe  будет  вставлять  межсимвольные  паузы  для  скоростей ниже
              19200, что позволяет обойти терминальную буферизацию и прерывать
              экранный  вывод  клавиатурным вводом. Команды сколлинга не будут
              использоваться при указании скорости 38400 бод.  Это полезно при
              использовании   X-терминалов   и  экранов  консоли,  которые  не
              подключены через последовательную линию.

       -beep  Joe будет издавать звонок в  случае  неправильных  команд  и  по
              достижению курсором границ ввода.

       -columns nnn
              Устанавливает количество колонок на экране.

       -csmode
              Продолженный  режим поиска: команда поиска, следующая за первой,
              будет продолжать поиск заданного ранее образца, а не запрашивать
              новый.  Это полезно для команд ^[S и ^[R, и когда joe изображает
              из себя emacs.

       -dopadding
              Joe обычно предполагает наличие какого-либо протокола управления
              потоком  между  ним  и  терминалом.  Если  никакой  протокол  не
              используется - данная опция заставляет joe выводить на  терминал
              дополнительные  ^@  как  указано  в  termcap-описании терминала.
              Дополнительные   ^@   дают   возможность   терминалу   закончить
              длительные терминальные команды.

       -exask Эта  опция дает возможность проверить имя файла, сохраняемого по
              ^KX.

       -force Эта опция обеспечивает обязательное добавление перевода строки в
              конец сохраняемого файла.

       -help  Если  указана  эта  опция - редактор будет стартовать с открытым
              окном подсказки.

       -keepup
              Обычно поля  строки  состояния,  в  которых  отображается  номер
              позиции  и  префикс  управляющей последовательности, обновляются
              раз в секунду для уменьшения нагрузки на процессор, но в  случае
              указания  этой  опции  обновление будет производиться по каждому
              нажатию клавиши.

       -lightoff
              Если данная опция указана - отметка блока будет сниматься  после
              любой операции над блоком.

       -lines nnn
              Устанавливает количество строк экрана.

       -marking
              Текст  между  началом  блока  и  курсором  будет  подсвечиваться
              (используйте вместе с -lightoff и модифицированным файлом  joerc
              для получения отметки блока в стиле "брошенного якоря").

       -mid   Если  эта  опция  установлена  и  курсор перемещается за пределы
              экрана - окно будет скроллироваться таким образом, чтобы  курсор
              оставался  в  центре.  Эта  опция принудительно выставляется для
              медленных терминалов, не имеющих команд скроллинга.

       -nobackups
              Эта опция запрещает создание файлов резервных копий.

       -nonotice
              Эта опция запрещает вывод информации  о  копирайте  при  запуске
              редактора.

       -nosta Эта  опция запрещает отображение строки состояния вверху экрана.
              Понадобится, если вы хотите видеть на экране  только  ваш  текст
              или используете vt52.

       -noxon Пытается   выключить   обработку   ^S/^Q.   Полезно,  когда  JOE
              изображает из себя WordStar или EMACS.

       -orphan
              Когда данная опция активна,  дополнительные  файлы  в  командной
              строке  будут  помещаться  в  скрытых  буферах, а не в отдельных
              окнах.  Полезно, когда JOE изображает из себя EMACS.

       -pg nnn
              Определяет  количество  строк,  оставляемых   на   эране   после
              PgUp/PgDn   (^U/^V).    Если  указано  значение  -1  -  остается
              пол-экрана.

       -skiptop nnn
              Не использовать верхние nnn строк  экрана.  Полезно,  когда  joe
              используется в качестве BBS-редактора.

       Каждая  из этих опций может также быть определена в файле joerc.  Кроме
       того,  опции  NOXON,  BAUD,  LINES,  COLUMNS  и  DOPADDING  могут  быть
       определены в виде переменных среды.

       Переменная  среды  JOETERM  может  быть  установлена для замены обычной
       переменной среды TERM для определения типа вашего терминала.

       Следующие  опции  могут  быть  указаны  перед  каждым  именем  файла  в
       командной строке:

       +nnn   Курсор при старте размещается на строке с указанным номером.

       -crlf  Joe использует CR-LF в качестве завершителя строки вместо просто
              LF.  Для редактирования файлов из MS-DOS или VMS.

       -wordwrap
              Joe переносит слово на новую строку по достижению правого  края.

       -autoindent
              При  нажатии  Enter  в  конце  строки  с  отступом  этот  отступ
              переносится в начало новой строки.

       -overwrite
              Ввод замещает существующие символы, а не вставляется перед ними.

       -lmargin nnn
              Устанавливает левую границу.

       -rmargin nnn
              Устанавливает правую границу.

       -tab nnn
              Устанавливает ширину табуляции.

       -indentc nnn
              Устанавливает  символ заполнения для ^K, и ^K. (32 - ПРОБЕЛ, 9 -
              TAB).

       -istep nnn
              Устанавливает шаг перемещения для ^K, и ^K..

       -linums
              В начале каждой строки выводится ее номер.

       -rdonly
              Только читать файл.

       -keymap name
              Использовать альтернативную секцию файла joerc  для  определения
              клавиатурных управляющих последовательностей.

       Эти  опции  также  могут  быть определены в файле joerc. Они могут быть
       установлены в зависимости от расширения имени файла.  Для  программ  (с
       расширениями .c, .h или .p) обычно включается автооотступ. Перенос слов
       разрешен для всех прочих файлов, кроме инициализационных rc-файлов.

Редактирование

   Основы редактирования
       Когда  вы  вводите  символы  в  редакторе,  они  обычно  вставляются  в
       редактируемый  файл  (или добавляются к нему, если курсор стоит в конце
       файла). Это  -  нормальный  режим  работы  редактора.  Если  вы  хотите
       заменить некоторый существующий текст - можете удалить его до или после
       ввода нового текста. Для удаления текста может  использоваться  клавиша
       Backspace: поместите курсор справа от текста, который требуется удалить
       и нажмите Backspace нужное количество раз.

       Нажатие Enter или Return вызывает вставку  разрыва  строки.   Например,
       если  курсор  находился  всередине строки и вы нажали Enter, эта строка
       будет разрезана на  две,  и  курсор  будет  находиться  вначале  второй
       строки.   Нажатие   Backspace  в  начале  строки  приведет  к  удалению
       предыдущего разрыва строки.

       Для перемещения по файлу используйте клавиши  стрелок.  Если  на  вашей
       клавиатуре   таких  клавиш  нет  (или  они  почему-то  не  работают)  -
       используйте ^F для перемещения вперед (вправо), ^B  -  для  перемещения
       назад  (влево),  ^P - на предыдущую строку (вверх), и ^N - на следующую
       (вниз).  Клавиши стрелок вправо и влево  просто  перемещают  курсор  на
       один  символ  вправо  или  влево по тексту за раз: если вы находитесь в
       начале строки и нажмете стрелку влево - то окажетесь в конце предыдущей
       строки.  Нажатие  клавиш  стрелок  вверх  и  вниз  вызывает перемещение
       курсора  на  столько  символов,  чтобы  оказаться  в  той  же   позиции
       предыдущей  или  последующей  строки,  в  которой находились в исходной
       строке.

       Если  вы  желаете  сделать  отступ  перед  вводом   текста   -   можете
       использовать клавишу TAB. Она вставляет в текст специальный управляющий
       символ, который заставляет следующие за ним символы вводиться с  начала
       следующего  табулостопа  (TAB  STOP).  Табулостопы обычно располагаются
       через каждые 8 позиций, но это может быть изменено с помощью команды ^T
       D.   Программисты  на языках PASCAL и C часто располагают табулостопы в
       каждой 4-ой позиции.

       Если по каким-либо причинам экран вашего терминала сбивается (например,
       при  получении сообщения о прибытии почты от программы biff), вы можете
       потребовать от редактора перерисовать экран - нажатием ^R.

       Имеются и другие команды для удаления текста и  перемещения  по  файлу.
       Например, можно нажать ^D для удаления символа в позиции курсора вместо
       удаления назад, как это делает клавиша  Backspace.   ^D  также  удаляет
       разрыв  строки,  если  курсор  находится в конце строки. Нажмите ^Y для
       удаления всей строки в позиции курсора или ^J для удаления  от  курсора
       до конца строки.

       Нажмите  ^A для перемещения курсора в начало текущей строки. Нажмите ^E
       для перемещения курсора в конец строки.  Нажатие ^U или ^V  приведет  к
       скроллированию   на   полэкрана   вверх   или   вниз.   "Скроллирование
       обозначает, что что текст на экране перемещается, но курсор остается  в
       одной  и той же позиции относительно экрана.  Нажмите ^K U или ^K V для
       перемещения в начало  или  конец  файла.   Другие  команды  удаления  и
       перемещения вы можете найти на экране подсказки редактора.

       Если  вы  сделали  ошибку - можете отменить последнее действие нажатием
       ^_.  На большинстве клавиатур  вам  потребуется  прото  нажать  ^-  для
       получения  ^_,  но  на некоторых вам понадобится для этого одновременно
       удерживать Shift и Control.  Если вы случайно ваполнили  слишком  много
       отмен  -  можно  отменить предыдущую отмену по нажатию ^^ (для этого на
       большинстве клавиатур следует просто нажать ^6).

       Если вы  находитесь  в  одной  позиции  файла,  а  необходимо  временно
       просмотреть  или  отредактировать  другой  участок  текста - вы сможете
       вернуться в исходную позицию по нажатию ^K -.   Эта  команда  возвратит
       вас  в  то  место,  где  были выполнены последние изменения в файле. Вы
       можете перемещаться по местам изменений с помощью ^K - и ^K =, так  же,
       как  вдоль  истории  изменений  с  помощью  команд  "отмена"  и "отмена
       отмены".

       Когда вы закончите редактирование файла - нажмите ^K X  для  выхода  из
       редактора.  Если  вы не редактировали ранее существовавший файл - у вас
       будет запрошено имя, под которым вы хотите этот файл сохранить.

       Когда вы редактируете файл - в действительности изменению  подвергается
       только  его  копия. Так что если вы решите, что изменения, сделанные во
       время данного сеанса редактирования, вам не нужны -  можете  нажать  ^C
       для выхода из редактора без их сохранения.

       Если  вы  отредактировали  файл  и  сохранили  изменения  -  в  текущей
       директории  будет  создана  резервная  копия  ("backup"),  имя  которой
       формируется  путем  добавления  символа  ~ в конец имени редактируемого
       файла, и содержащая исходную версию этого файла.

   Переносы и форматирование
       Если вы будете вводить на правом краю экрана на программу  на  языке  C
       или  PASCAL  -  экран  будет  скроллироваться  вправо  для  того, чтобы
       удерживать на нем текущее положение курсора. Если вы будете вводить  на
       правом  краю  данные в обычный файл (имя которого не закнчивается ни на
       следующую строку, так что  вам  не  обязательно  нажимать  Enter.   Это
       называется  режимом  автопереноса. Перенос слов может быть разрешен или
       запрещен с помощью команды ^T W .  Инициализационный  файл  JOE  обычно
       настраивается  так,  чтобы  этот  режим  включался  для всех файлов, не
       являющихся  текстами  программ.   Смотрите  ниже  раздел  joerc  -  как
       изменять это и другие умолчания.

       За  исключением  случая  режима  автопереноса,  JOE  не  хранит  абзацы
       отформатированными, как  это  делают  некоторые  текстовые  процессоры.
       Вместо этого если вам потребуется отформатировать абзац - нажмите ^K J.
       Данная команда "выравнивает" абзац, в котором находится курсор, пытаясь
       разместить  в  одной  строке  столько  слов, сколько возможно. В данном
       случае абзацем считается часть  текста,  ограниченная  сверху  и  снизу
       пустыми строками.

       Границы,  в  которых  JOE выполняет форматирование абзаца и автоперенос
       слов, могут быть установлены с помощью команд ^T L и ^T R.  Если  левая
       граница  установлена  в  значение,  отличное от 1, то кода вы начинаете
       вводить данные с начала строки - курсор сразу перепрыгнет на  указанную
       левую границу.

       Если  вы желаете центрировать строку в указанных границах - используйте
       команду ^K A.

   Режим замещения
       Иногда утомительно удалять старый текст перед вставкой нового или после
       нее.   Это  случается, например, когда вы заполняете данные в таблице и
       вынуждены следить за положением правого  края  этой  таблицы.  В  таких
       случаях  вы  можете  перевести  редактор  в  режим  замещения с помощью
       последовательности ^T  T.    Если  вы  находитесь  в  данном  режиме  -
       вводимые  символы  замещают  собой  существующие. Кроме того, Backspace
       просто выполняет перемещение влево вместо удаления  расположенного  там
       символа,  если  курсор находился не в конце и не в начале строки. Режим
       замещения не является общепринятым при электронной  обработке  текстов,
       поэтому  рекомендуется  вернуться  к  режиму вставки так скоро, как это
       возможно, нажав ^T T еще раз.

       Если вам необходимо выполнить вставку  во  время  нахождения  в  режиме
       замещения  -  нажмите  ^@.   Это  приведет к вставке в текст одиночного
       ПРОБЕЛА.

   Управляющие и Мета- символы
       Каждый символ представляется некоторым числовым кодом. Например,  кодом
       символа 'A' является 65, а код '1' - 49. Все символы, которые вы обычно
       видите, имеют коды в диапазоне 32  -  126  (данное  соответствие  между
       символами  и  их  кодами называется символьным набором ASCII). Коды вне
       этого диапазона, от 0 до 255, обычно не отображаются, но  иногда  имеют
       некоторое   специальное   значение.    Символ  с  кодом  10,  например,
       используется для  обозначения  конца  строки.   Вы  можете  ввести  эти
       неотображаемые  управляющие  символы,  нажав сначала `, а затем - введя
       символ из диапазона @ A B C ... X Y Z [ ^ ] \ _ для получения кодов 0 -
       31,  и ? для получения 127.  Например, если вы нажмете ` J - выполнится
       вставка символа разрыва строки, а если нажмете ` I -  вставится  символ
       табуляции  (то  же  самое  делает  клавиша  TAB).  Полезный управляющий
       символ - 12 (` L), который заставляет большинство  принтеров  выполнить
       прогон  страницы.  Вы сможете заметить, что JOE выводит этот символ как
       подчеркнутое  L.  Вы  можете  вводить  символы  с  кодами  более   127,
       называемые  мета-символами,  нажав  сперва  ^\.  Это добавит 128 к коду
       следующего (возможно управляющего)  введенного  символа.   JOE  выводит
       символы  с  кодами  большими,  чем  128,  в  инверсном  изображении.  В
       некоторых  языках,  имеющих  больше   символов,   чем   в   английском,
       метасимволы  используются  для  остальных  букв  ихнего  алфавита.  Вам
       придется перевести редактор в режим  ASIS  (описан  далее),  чтобы  эти
       символы   передавались   на   терминал   без   преобразования.   (Прим.
       переводчика: поскольку для всех кодовых  наборов  с  кириллицей  так  и
       происходит  -  в  большинстве дистрибутивов, используемых на территории
       бывшего СССР, режим ASIS для JOE включается по умолчанию).

   Запросы
       Если вы  нажмете  TAB  во  время  любого  запроса  имени  файла  -  joe
       попытается  по  возможности  дополнить  вводимое  вами  имя. Если он не
       сможет этого сделать из-за того, что  возможно  более  одного  варианта
       дополнения  -  joe  издаст  звонок. Если вы нажмете TAB еще раз - будет
       предложен список дополнений.  Вы сможете использовать  клавиши  стрелок
       для  перемещения  по  этому  меню  и нажать ENTER или ПРОБЕЛ для выбора
       элемента. Если вы нажмете первую букву одного из элементов списка -  он
       будет  выбран,  или, если более одного элемента имеют одинаковую первую
       букву - курсор будет прыгать  по  этим  элементам.   Если  вы  выберете
       поддиректорию  или  ..  -  имя  директории  добавится к запросу и новая
       директория будет загружена в  меню.  Вы  можете  нажать  Backspace  для
       возврата к предыдущей директории.

       Большинство   запросов   ведут  историю  обращения  к  ним.  Вы  можете
       перемещаться по этим историям с помощью клавиш-стрелок вверх и вниз.

       Запросы в действительности являются  однострочными  окнами  без  строки
       состояния,   так  что  вы  можете  использовать  в  нем  любые  команды
       редактирования. История запроса в действительности представлена разными
       строками  в одном и том же "файле запроса". Поэтому вы можете выполнять
       поиск в истории запроса с помощью обычной команды ^K F.

       Поскольку запросы являются окнами - вы также можете переключаться между
       ними с помощью ^K P и ^K N.

   Где я?
       Нажмите ^K ПРОБЕЛ для получения отчета JOE о номере строки и колонки, а
       также номере текущего байта в файле, в последней строке экрана.   Также
       показывается  код  текущего  символа. Вы можете настроить редактор так,
       чтобы номер текущей строки и/или колонки постоянно отображался в строке
       состояния,   поместив   специальные  управляющие  последовательности  в
       настроечную строку строки  состояния.  Более  подробная  информация  по
       этому вопросу приведена в файле joerc.

   Операции над файлами
       Вы  можете  нажать  ^K  D  для сохранения текущего файла (возможно, под
       именем, отличающимся от оригинального). После того, как файл сохранен -
       можете нажать ^K E для редактирования другого файла.

       Если  вы  желаете  сохранить  только  отдельную  часть файла - см. ниже
       раздел Блоки.

       Если вы желаете включить другой файл в редактируемый - используйте  для
       его вставки команду ^K R.

   Временный приостанов редактора
       Если  вам необходимо временно приостановить редактор и вернуться в шелл
       - нажмите ^K Z.  Вы можете сделать это,  к  примеру,  для  того,  чтобы
       прервать  редактирование  и ответить на почтовое сообщение или почитать
       man page.  Для возврата в редактор вам надо будет выполнить команду  fg
       или exit (вам будет сказано какую именно, когда вы нажмете ^K Z).

   Поиск текста
       Нажмите  ^K  F,  чтобы выполнить поиск фрагмента текста (строки) вперед
       или назад. У вас будет запрошен образец поиска. После нажатия Enter  вы
       получите  запрос  на  ввод опций поиска.  Вы можете просто нажать Enter
       еще раз, чтобы редактор сразу начал поиск  вперед,  или  можете  ввести
       одну или больше из следующих опций:

       b      Поиск назад, а не вперед.

       i      Не  различать  при  поиске символы верхнего и нижнего регистров.
              Обычно считается, что они различны.

       nnn    (где nnn - число) Если вы  введете  число  -  JOE  найдет  n-ное
              вхождение  искомого  текста.   Это полезно для перехода в нужные
              места внутри файлов,  структурированных  некоторым  определенным
              образом.

       r      Замещать  текст.  Если  вы  введете  опцию  r, далее у вас будет
              запрошен замещающий текст. Каждый раз при  нахождении  текста  у
              вас будет запрашиваться - желаете ли вы выполнить его замещение.
              Вы  можете  нажать:  y  для  замещения   текста   и   выполнения
              дальнейшего  поиска,  n - чтобы не замещать текст, но продолжать
              поиск, r - для замены всех последующих вхождений далее по  файлу
              без   дополнительных  запросов  на  подтверждение,  или  ^C  для
              прекращения поиска и замены.

       Вы можете нажать ^L для повторения предыдущего поиска.

   Регулярные выражения
       При поиске текста в качестве  образца  могут  использоваться  различные
       специальные символьные последовательности:

       \*     Это означает ноль или более символов. Например, если вы зададите
              A\*B в качестве  образца  поиска,  JOE  попытается  найти  A  со
              следующим  далее  произвольным  количеством  любых  символов, за
              которыми следует B.

       \?     Ровно один символ. Например, если вы укажете в качестве  образца
              поиска A\?B, JOE найдет AXB, но не AB, и не AXXB.

       \^ \$  Это  соответствует  началу  и  концу  строки.  Например, если вы
              укажете  \^test\$,  то  JOE  будет  искать  строку,  в   которой
              содержится только слово test.

       \< \>  Это  соответствует  началу  или  концу  слова. Например, если вы
              зададите \<\*is\*\>,  то  joe  будет  искать  слово,  содержащее
              подстроку is.

       \[...] Это   соотвествует  одному  из  символов,  которые  заключены  в
              квадратные скобки.  Например, если вы введете в качестве образца
              поиска  \[Tt]his, то JOE найдет и This, и this.  В скобках могут
              указываться и диапазоны символов. Например, \[A-Z] соответствует
              любой заглавной латинской букве.  Если первым символом в скобках
              является ^, то JOE будет искать  символы,  не  указанные  внутри
              скобок.

       \c     Это  работает  аналогично  \*, но соответствует сбалансированным
              выраженияс языка C.  Например, если вы будете искать malloc(\c),
              то  JOE  найдет  любой  вызов  функции  malloc,  даже если в нем
              находятся вложенные ).

       \+     Будет искаться ноль или больше символов, равных следующему сразу
              за  \+.   Например,  если  вы  укажете  \[  ]\+\[  ],  причем  в
              квадратных скобках находятся ПРОБЕЛ и TAB, то JOE  будет  искать
              пробельные области.

       \\     Соответствует одиночному \.

       \n     Будет искаться специальный символ конкца строки.

       Следующие     специальные     символьные    последовательности    могут
       использоваться в строке замещения:

       \&     Подставляется  текст  образца  поиска.  Например,  если  строкой
              поиска было \<\*\>, что соответствует словам, и вы укажете "\&",
              то joe будет заключать слова в кавычки.

       \0 - \9
              Это будет замещаться текстом, который соответствует  N-ному  \*,
              \?, \+, \c, \+, или \[...] в образце поиска.

       \\     Используйте  это,  если  вам  необходимо  поместить  \  в строку
              замещения.

       \n     Используйте это, если вам необходимо поместить  символ  перевода
              строки в строку замещения.

       Несколько примеров:

       Предположим,  у  вас  имеется  список  адресов,  по  одному  в  строке,
       начинающейся со слова "Address:", и элементы разделены запятыми.  Вроде
       следующего:

       Address: S. Holmes, 221b Baker St., London, England

       Если  вы  захотите  переформировать  этот  список,  чтобы  сначала  шло
       наименование страны, затем - города, за ним - имя человека, и в конце -
       адрес, вы можете сделать следующее:

       Нажмите ^K F чтобы начать поиск, и введите:

       Address:\*,\*,\*,\*\$

       что соответсвует "Address:", четырем элементам, разделенным запятыми, и
       затем - конец строки. При запросе оции  поиска  нажмите  r  для  замены
       строки, и затем введите:

       Address:\3,\2,\0,\1

       для  перетасовки  данных  нужным  вам  способом.  После  нажатия  Enter
       начнется поиск и исходная строка будет преобразована в:

       Address: England, London, S. Holmes, 221b Baker St.

   Блоки
       Если вы желаете перемещать, копировать, сохранять или удалять отдельные
       части  текста  -  вы  можете  использовать  для этого отмеченные блоки.
       Сначала поместите курсор в начало текста, с которым желаете работать, и
       нажмите  ^K  B.   Затем переместите курсор за последний символ текста и
       нажмите ^K K.  Текст между ^K B и ^K K отметится подсветкой.  Теперь вы
       можете переместить курсор куда-нибуди еще и нажать ^K M для перемещения
       отмеченного текста туда.  Вы можете нажать ^K C, чтобы  вставить  копию
       отмеченного   текста   в  точку  расположения  курсора.   ^K  Y  удалит
       отмеченный текст.  ^K W запишет его в файл.

       Очень полезная команда - ^K /,  которая  фильтрует  блок  текста  через
       команду  unix. Например, если вы отметите список слов, и затем наберете
       ^K / sort, то этот список отсортируется. Другая полезная  команда  unix
       для  ^K  /  -  tr.   Если  вы введете ^K / tr a-z A-Z, то все латинские
       символы в блоке будут переведены в верхний регистр.

       По завершению операций с  блоком  вы  можете  просто  оставить  отметку
       включенной  и  не  обращать  на  нее внимания (но, естественно, если вы
       случайно нажмете ^K Y ...). Если же это вас действительно  беспокоит  -
       просто нажмите ^K B ^K K для снятия отметки.

   Сдвиги блоков в программах
       Режим автоотступа включается командой ^T I.  joerc обычно настроен так,
       что файлы с именами, зачанчивающимися на .p, .c или  .h  открываются  с
       включенным автоотступом.  Если автоотступ включен и вы нажимаете Enter,
       курсор переместится  в  ту  же  позицию  следующей  строки,  в  которой
       находился первый непробельный символ исходной.

       Вы  можете  использовать  команды  ^K  , и ^K . для сдвига блока текста
       влево и вправо.  to the left or right.  Если вы  попытаетесь  выполнить
       эти  команды,  когда  блок  не отмечен - весь редактируемый текст будет
       отмечен, и при последующих  вызовах  ^K  ,  и  ^K  .  будет  смещаться.
       Количество  колонок,  на  которое  выполняется сдвиг данными командами,
       может быть установлено с помощью опции ^T.

   Окна
       Вы можете редактировать более одного  файла  одновременно,  или  разные
       части  одного  и того же файла. Для этого нажмите ^K O, чтобы разрезать
       экрак на два окна. Используйте ^K P или  ^K  N  для  перемещения  между
       окнами.  Используйте  ^K  E  для редактирования нового файла в одном из
       окон. Окно закроется, когда вы сохраните файл  по  ^K  X  или  отмените
       редактирование по ^C.  Если вы прервете радактирование одного и того же
       файла,  но  редактируемого  в  двух  окнах,  закроется  одно  из   окон
       закроется, но не файл.

       Вы  можете повторно нажать ^K O в окне, чтобы создать больше окон. Если
       на экране образовалось слишком много окон, но вы не хотите их закрывать
       -  можете  нажать  ^K  I.   Это  приведет  к  тому, что на экране будет
       отображаться  только  одно  текущее  окно.   Повторное   нажатие   этой
       комбинации приведет к обратной попытке - разместить все спрятанные окна
       на экране. Если вы открыли больше окон, чем может поместиться на экране
       -  вы  можете  нажать ^K N в самом верхнем или ^K P в самом нижнем окне
       для доступа к тем окнам, которые не влезли.

       Если в командной строке вызова JOE вы  указали  более  одного  файла  -
       каждый будет размещен в отдельном окне.

       Вы можете изменить высоту окна с помощью команд ^K G и ^K T.

   Клавиатурные макросы
       С помощью макросов вы можете записать последовательность нажатий клавиш
       и  затем  повторять  ее  по  нажатию  двух  клавиш.  Это  полезно   для
       автоматизации  повторяющихся задач. Чтобы начать запись макро - нажмите
       ^K [ и затем число от 0 до 9.  В статусной  строке  появится  сообщение
       (Запись  макро n...). Теперь вводите последовательность клавиш, которую
       желаете повторять.  Вводимые  команды  будут  действовать  как  обычно.
       Нажмите  ^K  ]  для  завершения записи макро.  Нажмите ^K с последующей
       цифрой для повторения записанной ранее последовательности нажатий.

       Например, если вы желаете поместить "**" в  начало  некоторых  строк  -
       можете ввести следующее:

       ^K [ ^A ** <стрелка вниз> ^K ]

       В  начале  записи  макро перемещаете курсор в начало строки, вставляете
       "**", перемещаете курсор на следующую  строку  и  заканчиваете  запись.
       Поскольку  мы включили в макро команду перемещения курсора на следующую
       строку - мы сможем циклически поторять вызов макро, не переводя  курсор
       вручную, что вам следует часто иметь в виду при записи макро.

       Если  вы  обнаружите, что макро, которое вы записывете, само включает в
       себя повторяющиеся нажатия клавиш - вы  можете  записать  макро  внутри
       макро,  только  с  другим  номером.  Вы  также  можете  вызывать  ранее
       записанное макро при записи нового.

   Повтор
       Вы можете использовать команду повтора  ^K  \,  чтобы  повторять  вызов
       макро  или  любой  команды  редактирования,  или  даже  обычный символ,
       указанное  количество  раз.  Нажмите  ^K  \,  введите  желаемое   число
       повторений  команды  и  нажмите  Enter.   Следующая  введенная  команда
       повторится указанное число раз.

       Например, для удаления следующих 20 строк текста нажмите:

       ^K \ 20<Enter>^Y

   Режим прямоугольных блоков
       Нажмите  ^T  X  если  хотите,  чтобы  по  ^K  B  и  ^K   K   отмечались
       прямоугольные,   а   не   построчные  блоки.  Этот  режим  полезен  для
       перемещения, копирования, удаления или сохранения  колонок  текста.  Вы
       также можете фильтровать колонки текста с помощью команды ^K /, если, к
       примеру, пожелаете  отсортировать  колонку.  Также  можно  использовать
       команду вставки файла ^K R.

       Когда   включен  режим  прямоугольных  блоков,  также  может  оказаться
       полезным включить режим замещения (^T T).  В этом случае прямоугольники
       будут  замещать существующий текст. Также команда удаления блока (^K Y)
       будет заполнять  отмеченные  прямоугольники  пробелами  и  табуляторами
       вместо того, чтобы удалять их. Режим замещения также может быть полезен
       при выполнении команды фильтрации  блока  (^K  /),  поскольку  исходная
       ширине выбранной колонки останется неизменной.

   Поиск тагов
       Если  вы редактируете большую программу на языке C со многими исходными
       файлами - можно использовать программу ctags для генерации файла тагов.
       Этот  файл  содержит  список имен, используемых в программе и позиций в
       файлах, где эти имена определены. Команда ^K ; может использоваться для
       поиска  имен  (функций,  предопределенных  констант,  и т.п.), загрузки
       файла,  в  котором  определено  данное   имя,   в   текущее   окно,   и
       позиционирования   курсора  в  точку  определения.   ^K  ;  запрашивает
       требуемое имя, используя слово, на котором находится курсор, в качестве
       умолчания.   Поскольку ^K ; загружает файл определения в текущее окно -
       возможно, вам потребуется сначала разрезать окно с помощью  команды  ^K
       O, чтобы видеть одновременно и исходный файл, и файл определения.

   Окна шеллов
       Нажмите  ^K  ' для выполнения командного шелла в окне JOE. Когда курсор
       находится в конце окна шелла (используйте для этого ^K V), все, что  вы
       вводите - будет передаваться в шелл, а не в окно. Любой вывод шелла или
       вызываемых программ,  выполняемых  в  нем,  будет  добавляться  в  окно
       (курсор  будет  перемещаться за этот вывод, если находился в конце окна
       шелла). Эта команда полезна для записи  шелл-команд,  например,  вывода
       make,  результата  grep  над  множеством  файлов,  или списка файлов из
       сеанса FTP. Кроме того, печатаемые символы, клавиши ^C, Backspace, DEL,
       Enter   и  ^D  передаются  в  шелл.  Введите  команду  шелла  exit  для
       прекращения записи вывода шелла.  Если в  окне  шелла  вы  нажмете  ^C,
       когда курсор находится не в конце окна, шелл будет прерван.

Переменные Среды

       Для  корретной  работы  JOE  необходимо  правильно установить некоторые
       переменные среды. Скорость (в бодах) связи между  компьютером  и  вашим
       терминалом   следует   правильно   указывать   для   JOE,  чтобы  экран
       перерисовывался плавно и можно было  вводить  вслепую  для  оптимизации
       отложенного  вывода.  Для установки этого используйте команду stty nnn.
       Значение следует указывать настолько  точно,  насколько  это  возможно.
       Например, если вы подключаетесь через модем со скоростью 1200 бод - вам
       следует  использовать  для  stty   именно   это   значение.   Если   вы
       подключаетесь  через  модем  со  скоростью  14.4kбод,  но  терминальный
       сервер, к которому вы подключены, связан с компьютером на скорости 9600
       бод,  вам  следует установить скорость 9600. Специальная скорость 38400
       или  extb  используется  для  указания   того,   что   вы   используете
       высокоскоростное  подключение, такое как консоль или эмулятор терминала
       в X-window.  Если вы не можете использовать stty для установки реальной
       скорости  (возможно,  потому,  что  скорость связи модема с компьютером
       отличается от скорости в линии)  -  вы  можете  вместо  этого  записать
       числовое значение в переменную среды BAUD (используйте setenv BAUD 9600
       для csh или BAUD=9600; export BAUD для sh).

       Переменная среды  TERM  должна  указывать  на  тип  используемого  вами
       терминала.   Если   размер   (число   строк/колонок)  вашего  терминала
       отличается от указанного в его  описании  TERMCAP  или  TERMINFO  -  вы
       можете установить правильное знение с помощью команды stty rows nn cols
       nn, или определив переменные среды LINES и COLUMNS.

       Обычно JOE ожидает, что для управления потоком данных между компьютером
       и  вашим  терминалом  используется протокол ^S/^Q (т.е., если компьютер
       посылает данные слишком быстро для вашего терминала - терминал посылает
       ^S  для  приостановки  вывода  и  ^Q  для  его  продолжения).  Если для
       управления потоком  используется  аппаратный  протокол,  или  если  ваш
       терминал   достаточно   быстр,   чтобы   всегда  во-время  отрабатывать
       компьютерный вывод и вы желаете использовать ^S/^Q  в  качестве  команд
       редактирования - вы можете установить переменную среды NOXON, чтобы JOE
       пытался  принимать  ^S/^Q.   Если  связь  между  компьютером  и   вашим
       терминалом  не  использует никакого протокола управления потоком, а ваш
       терминал  недостаточно  быстр,   чтобы   вовремя   отрабатывать   вывод
       компьютера  -  можете  установить переменную среды DOPADDING, чтобы JOE
       замедлял вывод путем вставки символов заполнения  в  последовательности
       изменения экрана.

Имена файлов

       Когда  JOE  ожидает от вас ввода имени файла - неважно, из командной ли
       строки, или по запросу редактора, вы также можете вводить:

       !command
              Читать или писать данные  из  или  в  команду  шелла.  Например,
              используйте  joe '!ls' для редактирования всех файлов из текущей
              директории,   или   в   редакторе   выполните   ^K    D    !mail
              jhallen@world.std.com для отправки мне редактируемого файла.

       >>filename
              Используйте  это,  чтобы JOE добавил редактируемый текст в конец
              файла "filename."

       filename,START,SIZE
              Используйте это для  доступа  к  определенной  части  файла  или
              устройства.   START  и  SIZE могут указываться в десятичном виде
              (напр.: 123), в восьмеричном (напр.: 0777) или шестнадцатиричном
              (напр.:  0xFF).   Например,  используйте  joe /dev/fd0,508,2 для
              редактирования байтов 508 и 509 на первом флоппи-диске в  Linux.

       -      Используйте  это  для получения данных со стандартного ввода или
              для  записи  на   стандартный   вывод.   Например,   вы   можете
              использовать  joe  в  конвейере  команд: quota -v | joe - | mail
              root, если хотите пожаловаться на ваши низкие квоты.

Файл joerc

       Все опции, доступные по ^T, экран подсказки и комбинации клавиш  команд
       редактора   определяются   в   инициализационном  файле  JOE.  Если  вы
       скопируете  этот  файл  (обычно  расположенный  в   /etc/joe/joerc)   в
       $HOME/.joerc,   то   сможете  настраивать  все  это  по  своему  вкусу.
       Синтаксис инициализационного файла достаточно понятен,  и  внутри  него
       содержатся подробные инструкции.

Благодарности

       JOE  был написан Joseph H. Allen.  Если у вас имеются отчеты об ошибках
       или вопросы - пишите ему по адресу jhallen@world.std.com.  Larry  Foard
       (entropy@world.std.com) и Gary Gray (ggray@world.std.com) также помогли
       в  создании  JOE.   Перевод  на  русский  язык   -   Юрий   Калиниченко
       <yuk@iceb.vinnitsa.com>