Available in

(1) (1)/hu (1)/it (1)/pl (1)/ru

Contents

+. +. +. +.TH JOE 1 "May 2004" "Joe 3.0" +.SH Название +joe − Joe’s Own Editor +.SH Использование +.B joe [global-options] [ [local-options] filename ]... + +.B jstar [global-options] [ [local-options] filename ]... + +.B jmacs [global-options] [ [local-options] filename ]... + +.B rjoe [global-options] [ [local-options] filename ]... + +.B jpico [global-options] [ [local-options] filename ]... + +.B jice [global-options] [ [local-options] filename ]... +.SH Описание +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. + +.SH Использование + +Для запуска редактора введите имя +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). + +Также имеются некоторые специальные параметры выполнения, которые, возможно, +придется установить, в частности, если экран вашего терминала изменяется не +так, как вы этого ожидаете. См. раздел +Переменные среды ниже. + +.SH Опции командной строки + +В командной строке могут быть указаны следующие глобальные опции: + +.IP -asis +Символы с кодами большими, чем 127, будут передаваться на терминал как есть, +вместо преобразования их в соответствующие символы с кодами меньшими 128. Если +это не срабатывает - проверьте ваш терминальный сервер. + +.IP -backpath path +Если эта опция задана - файлы резервных копий будут создаваться в указанной +директории, а не в "родной" директории редактируемого файла. + +.IP -baud nnn +Установить скорость передачи для оптимизации экранного вывыода. Joe +будет вставлять межсимвольные паузы для скоростей ниже 19200, что позволяет +обойти терминальную буферизацию и прерывать экранный вывод клавиатурным +вводом. Команды сколлинга не будут использоваться при указании скорости +38400 бод. Это полезно при использовании X-терминалов и экранов консоли, +которые не подключены через последовательную линию. + +.IP -beep +Joe будет издавать звонок в случае неправильных команд и по достижению +курсором границ ввода. + +.IP -columns nnn +Устанавливает количество колонок на экране. + +.IP -csmode +Продолженный режим поиска: команда поиска, следующая за первой, будет +продолжать поиск заданного ранее образца, а не запрашивать новый. Это +полезно для команд +^[S и ^[R, и когда joe изображает из себя emacs. + +.IP -dopadding +Joe обычно предполагает наличие какого-либо протокола управления потоком +между ним и терминалом. Если никакой протокол не используется - данная опция +заставляет joe выводить на терминал дополнительные +^@ как указано в termcap-описании терминала. +Дополнительные ^@ дают возможность терминалу закончить длительные +терминальные команды. + +.IP -exask +Эта опция дает возможность проверить имя файла, сохраняемого по +^KX. + +.IP -force +Эта опция обеспечивает обязательное добавление перевода строки в конец +сохраняемого файла. + +.IP -help +Если указана эта опция - редактор будет стартовать с открытым окном +подсказки. + +.IP -keepup +Обычно поля строки состояния, в которых отображается номер позиции и префикс +управляющей последовательности, обновляются раз в секунду для уменьшения +нагрузки на процессор, но в случае указания этой опции обновление будет +производиться по каждому нажатию клавиши. + +.IP -lightoff +Если данная опция указана - отметка блока будет сниматься после любой +операции над блоком. + +.IP -lines nnn +Устанавливает количество строк экрана. + +.IP -marking +Текст между началом блока и курсором будет подсвечиваться (используйте +вместе с -lightoff и модифицированным файлом +joerc для получения отметки блока в стиле "брошенного якоря"). + +.IP -mid +Если эта опция установлена и курсор перемещается за пределы экрана - окно +будет скроллироваться таким образом, чтобы курсор оставался в центре. Эта +опция принудительно выставляется для медленных терминалов, не имеющих команд +скроллинга. + +.IP -nobackups +Эта опция запрещает создание файлов резервных копий. + +.IP -nonotice +Эта опция запрещает вывод информации о копирайте при запуске редактора. + +.IP -nosta +Эта опция запрещает отображение строки состояния вверху экрана. Понадобится, +если вы хотите видеть на экране только ваш текст или используете +vt52. + +.IP -noxon +Пытается выключить обработку ^S/^Q. Полезно, когда JOE изображает из себя +WordStar или EMACS. + +.IP -orphan +Когда данная опция активна, дополнительные файлы в командной строке будут +помещаться в +скрытых буферах, а не в отдельных окнах. Полезно, когда JOE изображает из себя +EMACS. + +.IP -pg nnn +Определяет количество строк, оставляемых на эране после +PgUp/PgDn (^U/^V). Если указано значение -1 - остается пол-экрана. + +.IP -skiptop nnn +Не использовать верхние nnn строк экрана. Полезно, когда joe используется в +качестве BBS-редактора. + +.LP +Каждая из этих опций может также быть определена в файле +joerc. Кроме того, опции +NOXON, BAUD, LINES, COLUMNS и DOPADDING могут быть определены в виде +переменных среды. + +Переменная среды JOETERM может быть установлена для замены +обычной переменной среды TERM для определения типа вашего терминала. + +Следующие опции могут быть указаны перед каждым именем файла в командной +строке: + +.IP +nnn +Курсор при старте размещается на строке с указанным номером. + +.IP -crlf +Joe использует CR-LF в качестве завершителя строки вместо просто +LF. Для редактирования файлов из MS-DOS или VMS. + +.IP -wordwrap +Joe переносит слово на новую строку по достижению правого края. + +.IP -autoindent +При нажатии Enter в конце строки с отступом этот отступ переносится в +начало новой строки. + +.IP -overwrite +Ввод замещает существующие символы, а не вставляется перед ними. + +.IP -lmargin nnn +Устанавливает левую границу. + +.IP -rmargin nnn +Устанавливает правую границу. + +.IP -tab nnn +Устанавливает ширину табуляции. + +.IP -indentc nnn +Устанавливает символ заполнения для ^K, и ^K. (32 - ПРОБЕЛ, 9 - TAB). + +.IP -istep nnn +Устанавливает шаг перемещения для ^K, и ^K.. + +.IP -linums +В начале каждой строки выводится ее номер. + +.IP -rdonly +Только читать файл. + +.IP -keymap name +Использовать альтернативную секцию файла +joerc для определения клавиатурных управляющих последовательностей. + +.LP +Эти опции также могут быть определены в файле joerc. Они могут быть +установлены в зависимости от расширения имени файла. Для программ +(с расширениями .c, .h или .p) обычно включается автооотступ. Перенос слов +разрешен для всех прочих файлов, кроме инициализационных rc-файлов. + +.SH Редактирование +.SS Основы редактирования + +Когда вы вводите символы в редакторе, они обычно вставляются в редактируемый файл +(или добавляются к нему, если курсор стоит в конце файла). Это - нормальный +режим работы редактора. Если вы хотите заменить некоторый существующий текст +- можете удалить его до или после ввода нового текста. Для удаления текста +может использоваться клавиша 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"), имя которой формируется путем +добавления символа ~ в конец имени редактируемого файла, и содержащая +исходную версию этого файла. + +.SS Переносы и форматирование + +Если вы будете вводить на правом краю экрана на программу на языке +C или PASCAL - экран будет скроллироваться вправо для того, чтобы удерживать +на нем текущее положение курсора. Если вы будете вводить на правом краю +данные в обычный файл (имя которого не закнчивается ни на +.c, ни на .h или .p), JOE автоматически перенесет последнее слово на +следующую строку, так что вам не обязательно нажимать +Enter. Это называется режимом автопереноса. Перенос слов может быть +разрешен или запрещен с помощью команды +^T W . Инициализационный файл JOE обычно настраивается так, чтобы +этот режим включался для всех файлов, не являющихся текстами программ. +Смотрите ниже раздел joerc - как изменять это и другие умолчания. + +За исключением случая режима автопереноса, JOE не хранит абзацы +отформатированными, как это делают некоторые текстовые процессоры. Вместо +этого если вам потребуется отформатировать абзац - нажмите +^K J. Данная команда "выравнивает" абзац, в котором находится курсор, +пытаясь разместить в одной строке столько слов, сколько возможно. В данном +случае абзацем считается часть текста, ограниченная сверху и снизу пустыми +строками. + +Границы, в которых JOE выполняет форматирование абзаца и автоперенос слов, +могут быть установлены с помощью команд +^T L и ^T R. Если левая граница установлена в значение, +отличное от 1, то кода вы начинаете вводить данные с начала строки - курсор +сразу перепрыгнет на указанную левую границу. + +Если вы желаете центрировать строку в указанных границах - используйте +команду ^K A. + +.SS Режим замещения + +Иногда утомительно удалять старый текст перед вставкой нового или после нее. +Это случается, например, когда вы заполняете данные в таблице и вынуждены +следить за положением правого края этой таблицы. В таких случаях вы можете +перевести редактор в режим замещения с помощью последовательности +^T T. Если вы находитесь в данном режиме - вводимые символы замещают +собой существующие. Кроме того, +Backspace просто выполняет перемещение влево вместо удаления +расположенного там символа, если курсор находился не в конце и не в начале +строки. Режим замещения не является общепринятым при электронной обработке +текстов, поэтому рекомендуется вернуться к режиму вставки так скоро, как это +возможно, нажав ^T T еще раз. + +Если вам необходимо выполнить вставку во время нахождения в режиме замещения +- нажмите ^@. Это приведет к вставке в текст одиночного ПРОБЕЛА. + +.SS Управляющие и Мета- символы + +Каждый символ представляется некоторым числовым кодом. Например, кодом +символа ’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 включается по умолчанию). + +.SS Запросы +Если вы нажмете TAB во время любого запроса имени файла - +joe попытается по возможности дополнить вводимое вами имя. Если он не сможет +этого сделать из-за того, что возможно более одного варианта дополнения - +joe издаст звонок. Если вы нажмете +TAB еще раз - будет предложен список дополнений. Вы сможете +использовать клавиши стрелок для перемещения по этому меню и нажать ENTER +или ПРОБЕЛ для выбора элемента. Если вы нажмете первую букву одного из +элементов списка - он будет выбран, или, если более одного элемента имеют +одинаковую первую букву - курсор будет прыгать по этим элементам. +Если вы выберете поддиректорию или .. - имя директории добавится к запросу и +новая директория будет загружена в меню. Вы можете нажать +Backspace для возврата к предыдущей директории. + +Большинство запросов ведут историю обращения к ним. Вы можете перемещаться +по этим историям с помощью клавиш-стрелок вверх и вниз. + +Запросы в действительности являются однострочными окнами без строки +состояния, так что вы можете использовать в нем любые команды +редактирования. История запроса в действительности представлена разными +строками в одном и том же "файле запроса". Поэтому вы можете выполнять поиск +в истории запроса с помощью обычной команды +^K F. + +Поскольку запросы являются окнами - вы также можете переключаться между ними +с помощью ^K P и ^K N. + +.SS Где я? + +Нажмите ^K ПРОБЕЛ для получения отчета JOE о номере строки и колонки, +а также номере текущего байта в файле, в последней строке экрана. +Также показывается код текущего символа. Вы можете настроить редактор так, +чтобы номер текущей строки и/или колонки постоянно отображался в строке +состояния, поместив специальные управляющие последовательности в настроечную +строку строки состояния. Более подробная информация по этому вопросу +приведена в файле joerc. + +.SS Операции над файлами + +Вы можете нажать ^K D для сохранения текущего файла (возможно, под +именем, отличающимся от оригинального). После того, как файл сохранен - +можете нажать +^K E для редактирования другого файла. + +Если вы желаете сохранить только отдельную часть файла - см. ниже раздел +Блоки. + +Если вы желаете включить другой файл в редактируемый - используйте для его +вставки команду ^K R. + +.SS Временный приостанов редактора + +Если вам необходимо временно приостановить редактор и вернуться в шелл - +нажмите +^K Z. Вы можете сделать это, к примеру, для того, чтобы прервать +редактирование и ответить на почтовое сообщение или почитать man page. +Для возврата в редактор вам надо будет выполнить команду fg или exit (вам +будет сказано какую именно, когда вы нажмете ^K Z). + +.SS Поиск текста + +Нажмите ^K F, чтобы выполнить поиск фрагмента текста (строки) вперед +или назад. У вас будет запрошен образец поиска. После нажатия +Enter вы получите запрос на ввод опций поиска. +Вы можете просто нажать Enter еще раз, чтобы редактор сразу начал +поиск вперед, или можете ввести одну или больше из следующих опций: + +.IP b +Поиск назад, а не вперед. + +.IP i +Не различать при поиске символы верхнего и нижнего регистров. Обычно +считается, что они различны. + +.IP nnn +(где nnn - число) Если вы введете число - JOE найдет +n-ное вхождение искомого текста. Это полезно для перехода в нужные места +внутри файлов, структурированных некоторым определенным образом. + +.IP r +Замещать текст. Если вы введете опцию r, далее у вас будет запрошен +замещающий текст. Каждый раз при нахождении текста у вас будет запрашиваться +- желаете ли вы выполнить его замещение. Вы можете нажать: +y для замещения текста и выполнения дальнейшего поиска, +n - чтобы не замещать текст, но продолжать поиск, +r - для замены всех последующих вхождений далее по файлу без +дополнительных запросов на подтверждение, или +^C для прекращения поиска и замены. + +.PP +Вы можете нажать ^L для повторения предыдущего поиска. + +.SS Регулярные выражения + +При поиске текста в качестве образца могут использоваться различные специальные +символьные последовательности: + +.IP \* +Это означает ноль или более символов. Например, если вы зададите +A\*B в качестве образца поиска, +JOE попытается найти A со следующим далее произвольным количеством любых +символов, за которыми следует B. + +.IP \? +Ровно один символ. Например, если вы укажете в качестве образца поиска +A\?B, +JOE найдет AXB, но не AB, и не AXXB. + +.IP \^ \$ +Это соответствует началу и концу строки. Например, если вы укажете +\^test\$, то JOE будет искать строку, в которой содержится только +слово test. + +.IP \< \> +Это соответствует началу или концу слова. Например, если вы зададите +\<\*is\*\>, то joe будет искать слово, содержащее подстроку +is. + +.IP \[...] +Это соотвествует одному из символов, которые заключены в квадратные скобки. +Например, если вы введете в качестве образца поиска +\[Tt]his, то JOE найдет +и This, и this. В скобках могут указываться и диапазоны +символов. Например, \[A-Z] соответствует любой заглавной латинской +букве. Если первым символом в скобках является +^, то JOE будет искать символы, не указанные внутри скобок. + +.IP \c +Это работает аналогично \*, но соответствует сбалансированным +выраженияс языка C. +Например, если вы будете искать +malloc(\c), то JOE найдет любой вызов функции +malloc, даже если в нем находятся вложенные ). + +.IP \+ +Будет искаться ноль или больше символов, равных следующему сразу за +\+. Например, если вы укажете \[ ]\+\[ ], причем в +квадратных скобках находятся ПРОБЕЛ и TAB, то JOE будет искать пробельные +области. + +.IP \\ +Соответствует одиночному \. + +.IP \n +Будет искаться специальный символ конкца строки. + +.PP +Следующие специальные символьные последовательности могут использоваться в +строке замещения: + +.IP \& +Подставляется текст образца поиска. Например, если строкой поиска было +\<\*\>, что соответствует словам, и +вы укажете "\&", то joe будет заключать слова в кавычки. + +.IP \0 - \9 +Это будет замещаться текстом, который соответствует N-ному +\*, \?, +\+, \c, \+, или \[...] в образце поиска. + +.IP \\ +Используйте это, если вам необходимо поместить +\ в строку замещения. + +.IP \n +Используйте это, если вам необходимо поместить символ перевода строки в +строку замещения. +.PP +Несколько примеров: + +Предположим, у вас имеется список адресов, по одному в строке, начинающейся +со слова "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. + + +.SS Блоки + +Если вы желаете перемещать, копировать, сохранять или удалять отдельные +части текста - вы можете использовать для этого отмеченные блоки. Сначала +поместите курсор в начало текста, с которым желаете работать, и нажмите +^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 для снятия отметки. + +.SS Сдвиги блоков в программах +Режим автоотступа включается командой ^T I. +joerc обычно настроен так, что файлы с именами, зачанчивающимися на .p, .c +или .h открываются с включенным автоотступом. Если автоотступ включен и вы +нажимаете Enter, курсор переместится в ту же позицию следующей строки, +в которой находился первый непробельный символ исходной. + +Вы можете использовать команды +^K , и ^K . для сдвига блока текста влево и вправо. +to the left or right. Если вы попытаетесь выполнить эти команды, когда блок +не отмечен - весь редактируемый текст будет отмечен, и при последующих +вызовах ^K , и ^K . будет смещаться. Количество колонок, на +которое выполняется сдвиг данными командами, может быть установлено с +помощью опции ^T. + +.SS Окна +Вы можете редактировать более одного файла одновременно, или разные части +одного и того же файла. Для этого нажмите ^K O, чтобы разрезать экрак +на два окна. Используйте ^K P или ^K N для перемещения между +окнами. Используйте ^K E для редактирования нового файла в одном из +окон. Окно закроется, когда вы сохраните файл по +^K X или отмените редактирование по ^C. Если вы прервете +радактирование одного и того же файла, но редактируемого в двух окнах, +закроется одно из окон закроется, но не файл. + +Вы можете повторно нажать +^K O в окне, чтобы создать больше окон. Если на экране образовалось +слишком много окон, но вы не хотите их закрывать - можете нажать +^K I. Это приведет к тому, что на экране будет отображаться только +одно текущее окно. Повторное нажатие этой комбинации приведет к обратной попытке +- разместить все спрятанные окна на экране. Если вы открыли больше окон, чем +может поместиться на экране - вы можете нажать +^K N в самом верхнем или ^K P в самом нижнем окне для доступа к +тем окнам, которые не влезли. + +Если в командной строке вызова JOE вы указали более одного файла - каждый +будет размещен в отдельном окне. + +Вы можете изменить высоту окна с помощью команд ^K G и ^K T. + +.SS Клавиатурные макросы + +С помощью макросов вы можете записать последовательность нажатий клавиш и +затем повторять ее по нажатию двух клавиш. Это полезно для автоматизации +повторяющихся задач. Чтобы начать запись макро - нажмите +^K [ и затем число от 0 до 9. В статусной строке появится сообщение +(Запись макро n...). Теперь вводите последовательность клавиш, которую +желаете повторять. Вводимые команды будут действовать как обычно. +Нажмите ^K ] для завершения записи макро. Нажмите +^K с последующей цифрой для повторения записанной ранее +последовательности нажатий. + +Например, если вы желаете поместить "**" в начало некоторых строк - можете +ввести следующее: + +^K [ ^A ** <стрелка вниз> ^K ] + +В начале записи макро перемещаете курсор в начало строки, вставляете "**", +перемещаете курсор на следующую строку и заканчиваете запись. Поскольку мы +включили в макро команду перемещения курсора на следующую строку - мы сможем +циклически поторять вызов макро, не переводя курсор вручную, что вам следует +часто иметь в виду при записи макро. + +Если вы обнаружите, что макро, которое вы записывете, само включает в себя +повторяющиеся нажатия клавиш - вы можете записать макро внутри макро, только +с другим номером. Вы также можете вызывать ранее записанное макро при записи +нового. + + +.SS Повтор +Вы можете использовать команду повтора +^K \, чтобы повторять вызов макро или любой команды редактирования, +или даже обычный символ, указанное количество раз. Нажмите +^K \, введите желаемое число повторений команды и нажмите +Enter. Следующая введенная команда повторится указанное число раз. + +Например, для удаления следующих 20 строк текста нажмите: + +^K  20<Enter>^Y + +.SS Режим прямоугольных блоков +Нажмите ^T X если хотите, чтобы по ^K B и ^K K отмечались +прямоугольные, а не построчные блоки. Этот режим полезен для перемещения, +копирования, удаления или сохранения колонок текста. Вы также можете +фильтровать колонки текста с помощью команды +^K /, если, к примеру, пожелаете отсортировать колонку. Также +можно использовать команду вставки файла ^K R. + +Когда включен режим прямоугольных блоков, также может оказаться полезным +включить режим замещения +(^T T). В этом случае прямоугольники будут замещать существующий +текст. Также команда удаления блока +(^K Y) будет заполнять отмеченные прямоугольники пробелами и +табуляторами вместо того, чтобы удалять их. Режим замещения также может быть +полезен при выполнении команды фильтрации блока (^K /), поскольку исходная ширине +выбранной колонки останется неизменной. + +.SS Поиск тагов + +Если вы редактируете большую программу на языке C со многими исходными +файлами - можно использовать программу +ctags для генерации файла тагов. Этот файл содержит список +имен, используемых в +программе и позиций в файлах, где эти имена определены. Команда +^K ; может использоваться для поиска имен (функций, +предопределенных констант, и т.п.), загрузки файла, в котором определено +данное имя, в текущее окно, и позиционирования курсора в точку определения. +^K ; запрашивает требуемое имя, используя слово, на котором находится +курсор, в качестве умолчания. +Поскольку ^K ; загружает файл определения в текущее окно - возможно, +вам потребуется сначала разрезать окно с помощью команды +^K O, чтобы видеть одновременно и исходный файл, и файл определения. + +.SS Окна шеллов +Нажмите ^K ’ для выполнения командного шелла в окне JOE. Когда курсор +находится в конце окна шелла (используйте для этого ^K V), +все, что вы вводите - будет передаваться в шелл, а не в окно. Любой вывод +шелла или вызываемых программ, выполняемых в нем, будет добавляться в окно +(курсор будет перемещаться за этот вывод, если находился в конце окна +шелла). Эта команда полезна для записи шелл-команд, например, вывода +make, результата grep над +множеством файлов, или списка файлов из сеанса FTP. Кроме того, +печатаемые символы, клавиши +^C, Backspace, DEL, Enter и ^D передаются в шелл. Введите команду шелла +exit для прекращения записи вывода шелла. +Если в окне шелла вы нажмете ^C, когда курсор находится не в конце +окна, шелл будет прерван. + +.SH Переменные Среды+ +Для корретной работы 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 замедлял вывод путем вставки символов +заполнения в последовательности изменения экрана. + +.SH Имена файлов +Когда JOE ожидает от вас ввода имени файла - неважно, из командной ли +строки, или по запросу редактора, вы также можете вводить: + +.IP !command +Читать или писать данные из или в команду шелла. Например, используйте +joe ’!ls’ для редактирования всех файлов из текущей директории, или в +редакторе выполните ^K D !mail jhallen [AT] world.com для отправки мне +редактируемого файла. + +.IP >>filename +Используйте это, чтобы JOE добавил редактируемый текст в конец файла +"filename." + +.IP filename,START,SIZE +Используйте это для доступа к определенной части файла или устройства. +START и +SIZE могут указываться в десятичном виде (напр.: 123), в восьмеричном +(напр.: 0777) или шестнадцатиричном (напр.: 0xFF). Например, используйте +joe /dev/fd0,508,2 для редактирования байтов 508 и 509 на первом +флоппи-диске в Linux. + +.IP - +Используйте это для получения данных со стандартного ввода или для записи на +стандартный вывод. Например, вы можете использовать joe в конвейере команд: +quota -v | joe - | mail root, если хотите пожаловаться на ваши низкие +квоты. + + +.SH Файл  joerc +Все опции, доступные по +^T, экран подсказки и комбинации клавиш команд редактора +определяются в инициализационном файле JOE. Если вы скопируете этот +файл (обычно расположенный в /etc/joe/joerc) в +$HOME/.joerc, то сможете настраивать все это по своему вкусу. +Синтаксис инициализационного файла достаточно понятен, и внутри него +содержатся подробные инструкции. + +.SH Благодарности +JOE был написан Joseph H. Allen. Если у вас имеются отчеты об ошибках или +вопросы - пишите ему по адресу jhallen [AT] world.com. Larry Foard (entropy [AT] world.com) +и Gary Gray (ggray [AT] world.com) также помогли в создании JOE. +Перевод на русский язык - Юрий Калиниченко <yuk [AT] iceb.com> +

COMMENTS

blog comments powered by Disqus