889 lines
38 KiB
Groff
889 lines
38 KiB
Groff
.\" Russian translation of joe man page.
|
||
.\" May be distributed under the GNU General Public License
|
||
.\"
|
||
.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 по адресу
|
||
\fBwww.sourceforge.net/projects/joe-editor\fR.
|
||
|
||
.SH Использование
|
||
|
||
Для запуска редактора введите имя
|
||
\fBjoe\fR, можно со следующими за ним именами редактируемых файлов.
|
||
Каждому имени файла могут предшествовать ключи локальных опций
|
||
(ниже см. таблицу локальных опций). В командной строке также могут быть указаны ключи
|
||
глобальных опций, воздействующие на редактор в целом (ниже см. таблицу
|
||
глобальных опций). Если вы редактируете новый файл - можете указать его имя
|
||
либо в командной строке при запуске редактора, либо из редактора при
|
||
сохранении файла. Предоставляется специальный синтаксис имени файла для
|
||
редактирования вывода программ, стандартного ввода/вывода или участков
|
||
файлов или устройств. Подробности см. ниже в разделе
|
||
\fBИмена файлов\fR.
|
||
|
||
Запустив редактор, вы можете вводить в нем текст и использовать специальные
|
||
управляющие последовательности для выполнения других задач редактирования.
|
||
Описание того, что выполняет та или другая последовательность, вы можете
|
||
найти ниже в этом справочом руководстве либо набрав в редакторе
|
||
\fB^K H\fR для получения подсказки.
|
||
|
||
Замечания по некоторым общепринятым договоренностям:
|
||
|
||
\fB^\fR значит, что вы удерживаете клавишу \fBControl\fR при нажатии
|
||
указанной далее клавиши (аналогично тому, как работает \fBShift\fR
|
||
для ввода буквы верхнего регистра). Некоторые управляющие
|
||
последовательности дублируются
|
||
другими клавишами, так что вам не всегда обязательно нажимать Control:
|
||
\fBESC\fR работает как
|
||
\fB^[\fR, \fBDel\fR - как \fB^?\fR, \fBBackspace\fR -
|
||
\fB^H\fR, \fBTab\fR - \fB^I\fR,
|
||
\fBReturn\fR или \fBEnter\fR - это \fB^M\fR и
|
||
\fBLinefeed\fR может использоваться вместо \fB^J\fR.
|
||
На некоторых клавиатурах отдельные управляющие клавиши могут не работать.
|
||
\fB^_\fR, \fB^^\fR и \fB^@\fR обычно вводятся без нажатия
|
||
Shift (т.е., пробуйте \fB^-\fR, \fB^6\fR и
|
||
\fB^2\fR). На других клавиатурах эти клавиши могут быть переназначены.
|
||
Попробуйте:
|
||
\fB^.\fR, \fB^,\fR и \fB^/\fR. \fB^ПРОБЕЛ\fR обычно можно использовать
|
||
вместо
|
||
\fB^@\fR. \fB^\\\fR и \fB^]\fR интерпретируются многими коммуникационными
|
||
программами, включая
|
||
telnet и kermit. В этом случае вам придется нажать данную клавишу дважды,
|
||
чтобы прорваться через коммуникационную программу.
|
||
|
||
После нажатия \fB^K H\fR в верхней части экрана появится первое окно
|
||
подсказки. Вы можете продолжать вводить и редактировать текст, пока оно там
|
||
находится. Для листания подсказки используйте
|
||
^[, и ^[. (т.е., ESC , и
|
||
ESC .). Нажмите \fB^K H\fR снова для закрытия окна подсказки.
|
||
|
||
Вы можете настроить раскладку клавиатуры, окна подсказки и различное
|
||
поведение редактора, скопировав инициализационный файл
|
||
JOE (обычно
|
||
\fB/home/jie/project/joe/bin/etc/joe/joerc\fR) в \fB.joerc\fR в вашей домашней директории и затем
|
||
отредактировав его. Ниже см. раздел \fBjoerc\fR.
|
||
|
||
Чтобы использовать JOE в качестве редактора по умолчанию для
|
||
e-mail и News, вам необходимо установить переменные среды
|
||
\fBEDITOR\fR и \fBVISUAL\fR в стартовом командном файле вашего шелла
|
||
(\fB.cshrc\fR или \fB.profile\fR) так, чтобы они ссылались на JOE (joe
|
||
обычно располагается в \fB/home/jie/project/joe/bin/bin/joe\fR).
|
||
|
||
Также имеются некоторые специальные параметры выполнения, которые, возможно,
|
||
придется установить, в частности, если экран вашего терминала изменяется не
|
||
так, как вы этого ожидаете. См. раздел
|
||
\fBПеременные среды\fR ниже.
|
||
|
||
.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 Основы редактирования
|
||
|
||
Когда вы вводите символы в редакторе, они обычно вставляются в редактируемый файл
|
||
(или добавляются к нему, если курсор стоит в конце файла). Это - нормальный
|
||
режим работы редактора. Если вы хотите заменить некоторый существующий текст
|
||
- можете удалить его до или после ввода нового текста. Для удаления текста
|
||
может использоваться клавиша \fBBackspace\fR: поместите курсор справа от
|
||
текста, который требуется удалить и нажмите
|
||
\fBBackspace\fR нужное количество раз.
|
||
|
||
Нажатие \fBEnter\fR или \fBReturn\fR вызывает вставку разрыва строки.
|
||
Например, если курсор находился всередине строки и вы нажали \fBEnter\fR,
|
||
эта строка будет разрезана на две, и курсор будет находиться вначале второй
|
||
строки. Нажатие \fBBackspace\fR в начале строки приведет к удалению
|
||
предыдущего разрыва строки.
|
||
|
||
Для перемещения по файлу используйте клавиши стрелок. Если на вашей
|
||
клавиатуре таких клавиш нет (или они почему-то не работают) - используйте
|
||
\fB^F\fR для перемещения вперед (вправо), \fB^B\fR - для перемещения назад
|
||
(влево), \fB^P\fR - на предыдущую строку (вверх), и
|
||
\fB^N\fR - на следующую (вниз). Клавиши стрелок вправо и влево просто
|
||
перемещают курсор на один символ вправо или влево по тексту за раз: если вы
|
||
находитесь в начале строки и нажмете стрелку влево - то окажетесь в конце
|
||
предыдущей строки. Нажатие клавиш стрелок вверх и вниз вызывает перемещение
|
||
курсора на столько символов, чтобы оказаться в той же позиции предыдущей или
|
||
последующей строки, в которой находились в исходной строке.
|
||
|
||
Если вы желаете сделать отступ перед вводом текста - можете использовать
|
||
клавишу \fBTAB\fR. Она вставляет в текст специальный управляющий символ,
|
||
который заставляет следующие за ним символы вводиться с начала следующего
|
||
табулостопа (TAB STOP). Табулостопы обычно располагаются через каждые 8
|
||
позиций, но это может быть изменено с помощью команды
|
||
\fB^T D\fR. Программисты на языках PASCAL и C часто располагают табулостопы
|
||
в каждой 4-ой позиции.
|
||
|
||
Если по каким-либо причинам экран вашего терминала сбивается (например, при
|
||
получении сообщения о прибытии почты от программы biff), вы можете
|
||
потребовать от редактора перерисовать экран - нажатием \fB^R\fR.
|
||
|
||
Имеются и другие команды для удаления текста и перемещения по файлу.
|
||
Например, можно нажать
|
||
\fB^D\fR для удаления символа в позиции курсора вместо удаления назад, как
|
||
это делает клавиша \fBBackspace\fR. \fB^D\fR также удаляет разрыв строки,
|
||
если курсор находится в конце строки. Нажмите \fB^Y\fR для удаления всей
|
||
строки в позиции курсора или \fB^J\fR для удаления от курсора до конца
|
||
строки.
|
||
|
||
Нажмите \fB^A\fR для перемещения курсора в начало текущей строки. Нажмите
|
||
\fB^E\fR для перемещения курсора в конец строки. Нажатие \fB^U\fR или
|
||
\fB^V\fR приведет к скроллированию на полэкрана вверх или вниз.
|
||
"Скроллирование обозначает, что что текст на экране перемещается, но курсор
|
||
остается в одной и той же позиции относительно экрана.
|
||
Нажмите \fB^K U\fR или \fB^K V\fR для перемещения в начало или конец файла.
|
||
Другие команды удаления и перемещения вы можете найти на экране подсказки
|
||
редактора.
|
||
|
||
Если вы сделали ошибку - можете отменить последнее действие нажатием
|
||
\fB^_\fR. На большинстве клавиатур вам потребуется прото нажать
|
||
\fB^-\fR для получения \fB^_\fR, но на некоторых вам понадобится для этого
|
||
одновременно удерживать \fBShift\fR и \fBControl\fR.
|
||
Если вы случайно ваполнили слишком много отмен - можно отменить предыдущую
|
||
отмену по нажатию \fB^^\fR (для этого на большинстве клавиатур следует
|
||
просто нажать \fB^6\fR).
|
||
|
||
Если вы находитесь в одной позиции файла, а необходимо временно просмотреть
|
||
или отредактировать другой участок текста - вы сможете вернуться в исходную
|
||
позицию по нажатию \fB^K -\fR. Эта команда возвратит вас в то место, где
|
||
были выполнены последние изменения в файле. Вы можете перемещаться по
|
||
местам изменений с помощью
|
||
\fB^K -\fR и \fB^K =\fR, так же, как вдоль истории изменений с помощью команд
|
||
"отмена" и "отмена отмены".
|
||
|
||
Когда вы закончите редактирование файла - нажмите \fB^K X\fR для выхода из
|
||
редактора. Если вы не редактировали ранее существовавший файл - у вас будет
|
||
запрошено имя, под которым вы хотите этот файл сохранить.
|
||
|
||
Когда вы редактируете файл - в действительности изменению подвергается
|
||
только его копия. Так что если вы решите, что изменения, сделанные во время данного
|
||
сеанса редактирования, вам не нужны - можете нажать
|
||
\fB^C\fR для выхода из редактора без их сохранения.
|
||
|
||
Если вы отредактировали файл и сохранили изменения - в текущей директории
|
||
будет создана резервная копия ("backup"), имя которой формируется путем
|
||
добавления символа ~ в конец имени редактируемого файла, и содержащая
|
||
исходную версию этого файла.
|
||
|
||
.SS Переносы и форматирование
|
||
|
||
Если вы будете вводить на правом краю экрана на программу на языке
|
||
C или PASCAL - экран будет скроллироваться вправо для того, чтобы удерживать
|
||
на нем текущее положение курсора. Если вы будете вводить на правом краю
|
||
данные в обычный файл (имя которого не закнчивается ни на
|
||
.c, ни на .h или .p), JOE автоматически перенесет последнее слово на
|
||
следующую строку, так что вам не обязательно нажимать
|
||
\fBEnter\fR. Это называется режимом автопереноса. Перенос слов может быть
|
||
разрешен или запрещен с помощью команды
|
||
\fB^T W\fR . Инициализационный файл JOE обычно настраивается так, чтобы
|
||
этот режим включался для всех файлов, не являющихся текстами программ.
|
||
Смотрите ниже раздел \fBjoerc\fR - как изменять это и другие умолчания.
|
||
|
||
За исключением случая режима автопереноса, JOE не хранит абзацы
|
||
отформатированными, как это делают некоторые текстовые процессоры. Вместо
|
||
этого если вам потребуется отформатировать абзац - нажмите
|
||
\fB^K J\fR. Данная команда "выравнивает" абзац, в котором находится курсор,
|
||
пытаясь разместить в одной строке столько слов, сколько возможно. В данном
|
||
случае абзацем считается часть текста, ограниченная сверху и снизу пустыми
|
||
строками.
|
||
|
||
Границы, в которых JOE выполняет форматирование абзаца и автоперенос слов,
|
||
могут быть установлены с помощью команд
|
||
\fB^T L\fR и \fB^T R\fR. Если левая граница установлена в значение,
|
||
отличное от 1, то кода вы начинаете вводить данные с начала строки - курсор
|
||
сразу перепрыгнет на указанную левую границу.
|
||
|
||
Если вы желаете центрировать строку в указанных границах - используйте
|
||
команду \fB^K A\fR.
|
||
|
||
.SS Режим замещения
|
||
|
||
Иногда утомительно удалять старый текст перед вставкой нового или после нее.
|
||
Это случается, например, когда вы заполняете данные в таблице и вынуждены
|
||
следить за положением правого края этой таблицы. В таких случаях вы можете
|
||
перевести редактор в режим замещения с помощью последовательности
|
||
\fB^T T\fR. Если вы находитесь в данном режиме - вводимые символы замещают
|
||
собой существующие. Кроме того,
|
||
\fBBackspace\fR просто выполняет перемещение влево вместо удаления
|
||
расположенного там символа, если курсор находился не в конце и не в начале
|
||
строки. Режим замещения не является общепринятым при электронной обработке
|
||
текстов, поэтому рекомендуется вернуться к режиму вставки так скоро, как это
|
||
возможно, нажав \fB^T T\fR еще раз.
|
||
|
||
Если вам необходимо выполнить вставку во время нахождения в режиме замещения
|
||
- нажмите \fB^@\fR. Это приведет к вставке в текст одиночного ПРОБЕЛА.
|
||
|
||
.SS Управляющие и Мета- символы
|
||
|
||
Каждый символ представляется некоторым числовым кодом. Например, кодом
|
||
символа 'A' является
|
||
65, а код '1' - 49. Все символы, которые вы обычно видите, имеют коды в
|
||
диапазоне 32 - 126 (данное соответствие между символами и их кодами
|
||
называется символьным набором ASCII). Коды вне этого диапазона, от 0 до 255,
|
||
обычно не отображаются, но иногда имеют некоторое специальное значение.
|
||
Символ с кодом 10, например, используется для обозначения конца строки.
|
||
Вы можете ввести эти неотображаемые
|
||
\fBуправляющие символы\fR, нажав сначала \fB`\fR, а затем - введя символ
|
||
из диапазона \fB@ A B C ... X Y Z [ ^ ] \e _\fR для получения кодов
|
||
0 - 31, и ? для получения 127. Например, если вы нажмете \fB` J\fR -
|
||
выполнится вставка символа разрыва строки, а если нажмете
|
||
\fB` I\fR - вставится символ табуляции (то же самое делает клавиша TAB).
|
||
Полезный управляющий символ - 12 (\fB` L\fR), который заставляет большинство
|
||
принтеров выполнить прогон страницы. Вы сможете заметить, что JOE выводит
|
||
этот символ как подчеркнутое L. Вы можете вводить символы с кодами более
|
||
127, называемые
|
||
\fBмета-символами\fR, нажав сперва \fB^\e\fR. Это добавит 128
|
||
к коду следующего (возможно управляющего) введенного символа.
|
||
JOE выводит символы с кодами большими, чем
|
||
128, в инверсном изображении. В некоторых языках, имеющих больше символов,
|
||
чем в английском, метасимволы используются для остальных букв ихнего
|
||
алфавита. Вам придется перевести редактор в режим
|
||
\fBASIS\fR (описан далее), чтобы эти символы передавались на терминал без
|
||
преобразования. (Прим. переводчика: поскольку для всех кодовых наборов с
|
||
кириллицей так и происходит -
|
||
в большинстве дистрибутивов, используемых на территории бывшего СССР, режим
|
||
\fBASIS\fR для JOE включается по умолчанию).
|
||
|
||
.SS Запросы
|
||
Если вы нажмете \fBTAB\fR во время любого запроса имени файла -
|
||
joe попытается по возможности дополнить вводимое вами имя. Если он не сможет
|
||
этого сделать из-за того, что возможно более одного варианта дополнения -
|
||
joe издаст звонок. Если вы нажмете
|
||
\fBTAB\fR еще раз - будет предложен список дополнений. Вы сможете
|
||
использовать клавиши стрелок для перемещения по этому меню и нажать ENTER
|
||
или ПРОБЕЛ для выбора элемента. Если вы нажмете первую букву одного из
|
||
элементов списка - он будет выбран, или, если более одного элемента имеют
|
||
одинаковую первую букву - курсор будет прыгать по этим элементам.
|
||
Если вы выберете поддиректорию или .. - имя директории добавится к запросу и
|
||
новая директория будет загружена в меню. Вы можете нажать
|
||
Backspace для возврата к предыдущей директории.
|
||
|
||
Большинство запросов ведут историю обращения к ним. Вы можете перемещаться
|
||
по этим историям с помощью клавиш-стрелок вверх и вниз.
|
||
|
||
Запросы в действительности являются однострочными окнами без строки
|
||
состояния, так что вы можете использовать в нем любые команды
|
||
редактирования. История запроса в действительности представлена разными
|
||
строками в одном и том же "файле запроса". Поэтому вы можете выполнять поиск
|
||
в истории запроса с помощью обычной команды
|
||
\fB^K F\fR.
|
||
|
||
Поскольку запросы являются окнами - вы также можете переключаться между ними
|
||
с помощью \fB^K P\fR и \fB^K N\fR.
|
||
|
||
.SS Где я?
|
||
|
||
Нажмите \fB^K ПРОБЕЛ\fR для получения отчета JOE о номере строки и колонки,
|
||
а также номере текущего байта в файле, в последней строке экрана.
|
||
Также показывается код текущего символа. Вы можете настроить редактор так,
|
||
чтобы номер текущей строки и/или колонки постоянно отображался в строке
|
||
состояния, поместив специальные управляющие последовательности в настроечную
|
||
строку строки состояния. Более подробная информация по этому вопросу
|
||
приведена в файле joerc.
|
||
|
||
.SS Операции над файлами
|
||
|
||
Вы можете нажать \fB^K D\fR для сохранения текущего файла (возможно, под
|
||
именем, отличающимся от оригинального). После того, как файл сохранен -
|
||
можете нажать
|
||
\fB^K E\fR для редактирования другого файла.
|
||
|
||
Если вы желаете сохранить только отдельную часть файла - см. ниже раздел
|
||
\fBБлоки\fR.
|
||
|
||
Если вы желаете включить другой файл в редактируемый - используйте для его
|
||
вставки команду \fB^K R\fR.
|
||
|
||
.SS Временный приостанов редактора
|
||
|
||
Если вам необходимо временно приостановить редактор и вернуться в шелл -
|
||
нажмите
|
||
\fB^K Z\fR. Вы можете сделать это, к примеру, для того, чтобы прервать
|
||
редактирование и ответить на почтовое сообщение или почитать man page.
|
||
Для возврата в редактор вам надо будет выполнить команду fg или exit (вам
|
||
будет сказано какую именно, когда вы нажмете \fB^K Z\fR).
|
||
|
||
.SS Поиск текста
|
||
|
||
Нажмите \fB^K F\fR, чтобы выполнить поиск фрагмента текста (\fBстроки\fR) вперед
|
||
или назад. У вас будет запрошен образец поиска. После нажатия
|
||
\fBEnter\fR вы получите запрос на ввод опций поиска.
|
||
Вы можете просто нажать \fBEnter\fR еще раз, чтобы редактор сразу начал
|
||
поиск вперед, или можете ввести одну или больше из следующих опций:
|
||
|
||
.IP \fBb
|
||
Поиск назад, а не вперед.
|
||
|
||
.IP \fBi
|
||
Не различать при поиске символы верхнего и нижнего регистров. Обычно
|
||
считается, что они различны.
|
||
|
||
.IP \fBnnn
|
||
(где \fBnnn\fR - число) Если вы введете число - JOE найдет
|
||
n-ное вхождение искомого текста. Это полезно для перехода в нужные места
|
||
внутри файлов, структурированных некоторым определенным образом.
|
||
|
||
.IP \fBr
|
||
Замещать текст. Если вы введете опцию \fBr\fR, далее у вас будет запрошен
|
||
замещающий текст. Каждый раз при нахождении текста у вас будет запрашиваться
|
||
- желаете ли вы выполнить его замещение. Вы можете нажать:
|
||
\fBy\fR для замещения текста и выполнения дальнейшего поиска,
|
||
\fBn\fR - чтобы не замещать текст, но продолжать поиск,
|
||
\fBr\fR - для замены всех последующих вхождений далее по файлу без
|
||
дополнительных запросов на подтверждение, или
|
||
\fB^C\fR для прекращения поиска и замены.
|
||
|
||
.PP
|
||
Вы можете нажать \fB^L\fR для повторения предыдущего поиска.
|
||
|
||
.SS Регулярные выражения
|
||
|
||
При поиске текста в качестве образца могут использоваться различные специальные
|
||
символьные последовательности:
|
||
|
||
.IP \fB\e*
|
||
Это означает ноль или более символов. Например, если вы зададите
|
||
\fBA\e*B\fR в качестве образца поиска,
|
||
JOE попытается найти A со следующим далее произвольным количеством любых
|
||
символов, за которыми следует B.
|
||
|
||
.IP \fB\e?
|
||
Ровно один символ. Например, если вы укажете в качестве образца поиска
|
||
\fBA\e?B\fR,
|
||
JOE найдет AXB, но не AB, и не AXXB.
|
||
|
||
.IP \fB\e^\ \e$
|
||
Это соответствует началу и концу строки. Например, если вы укажете
|
||
\fB\e^test\e$\fR, то JOE будет искать строку, в которой содержится только
|
||
слово \fBtest\fR.
|
||
|
||
.IP \fB\e<\ \e>
|
||
Это соответствует началу или концу слова. Например, если вы зададите
|
||
\fB\e<\e*is\e*\e>\fR, то joe будет искать слово, содержащее подстроку
|
||
\fBis\fR.
|
||
|
||
.IP \fB\e[...]
|
||
Это соотвествует одному из символов, которые заключены в квадратные скобки.
|
||
Например, если вы введете в качестве образца поиска
|
||
\fB\e[Tt]his\fR, то JOE найдет
|
||
и \fBThis\fR, и \fBthis\fR. В скобках могут указываться и диапазоны
|
||
символов. Например, \fB\e[A-Z]\fR соответствует любой заглавной латинской
|
||
букве. Если первым символом в скобках является
|
||
\fB^\fR, то JOE будет искать символы, не указанные внутри скобок.
|
||
|
||
.IP \fB\ec
|
||
Это работает аналогично \fB\e*\fR, но соответствует сбалансированным
|
||
выраженияс языка C.
|
||
Например, если вы будете искать
|
||
\fBmalloc(\ec)\fR, то JOE найдет любой вызов функции
|
||
\fBmalloc\fR, даже если в нем находятся вложенные \fB)\fR.
|
||
|
||
.IP \fB\e+
|
||
Будет искаться ноль или больше символов, равных следующему сразу за
|
||
\fB\e+\fR. Например, если вы укажете \fB\e[ ]\e+\e[ ]\fR, причем в
|
||
квадратных скобках находятся ПРОБЕЛ и TAB, то JOE будет искать пробельные
|
||
области.
|
||
|
||
.IP \fB\e\e
|
||
Соответствует одиночному \e.
|
||
|
||
.IP \fB\en
|
||
Будет искаться специальный символ конкца строки.
|
||
|
||
.PP
|
||
Следующие специальные символьные последовательности могут использоваться в
|
||
строке замещения:
|
||
|
||
.IP \fB\e&
|
||
Подставляется текст образца поиска. Например, если строкой поиска было
|
||
\fB\e<\e*\e>\fR, что соответствует словам, и
|
||
вы укажете \fB"\e&"\fR, то joe будет заключать слова в кавычки.
|
||
|
||
.IP \fB\e0\ -\ \e9
|
||
Это будет замещаться текстом, который соответствует N-ному
|
||
\fB\e*\fR, \fB\e?\fR,
|
||
\fB\e+\fR, \fB\ec\fR, \fB\e+\fR, или \fB\e[...]\fR в образце поиска.
|
||
|
||
.IP \fB\e\e
|
||
Используйте это, если вам необходимо поместить
|
||
\fB\e\fR в строку замещения.
|
||
|
||
.IP \fB\en
|
||
Используйте это, если вам необходимо поместить символ перевода строки в
|
||
строку замещения.
|
||
.PP
|
||
Несколько примеров:
|
||
|
||
Предположим, у вас имеется список адресов, по одному в строке, начинающейся
|
||
со слова "Address:", и элементы разделены запятыми. Вроде следующего:
|
||
|
||
Address: S. Holmes, 221b Baker St., London, England
|
||
|
||
Если вы захотите переформировать этот список, чтобы сначала шло наименование
|
||
страны, затем - города, за ним - имя человека, и в конце - адрес, вы можете
|
||
сделать следующее:
|
||
|
||
Нажмите \fB^K F\fR чтобы начать поиск, и введите:
|
||
|
||
\fBAddress:\e*,\e*,\e*,\e*\e$\fR
|
||
|
||
что соответсвует "Address:", четырем элементам, разделенным запятыми,
|
||
и затем - конец строки. При запросе оции поиска нажмите
|
||
\fBr\fR для замены строки, и затем введите:
|
||
|
||
\fBAddress:\e3,\e2,\e0,\e1\fR
|
||
|
||
для перетасовки данных нужным вам способом. После нажатия Enter начнется
|
||
поиск и исходная строка будет преобразована в:
|
||
|
||
Address: England, London, S. Holmes, 221b Baker St.
|
||
|
||
|
||
.SS Блоки
|
||
|
||
Если вы желаете перемещать, копировать, сохранять или удалять отдельные
|
||
части текста - вы можете использовать для этого отмеченные блоки. Сначала
|
||
поместите курсор в начало текста, с которым желаете работать, и нажмите
|
||
\fB^K B\fR. Затем переместите курсор за последний символ текста и нажмите
|
||
\fB^K K\fR. Текст между \fB^K B\fR и \fB^K K\fR отметится подсветкой.
|
||
Теперь вы можете переместить курсор куда-нибуди еще и нажать
|
||
\fB^K M\fR для перемещения отмеченного текста туда.
|
||
Вы можете нажать \fB^K C\fR, чтобы вставить копию отмеченного текста
|
||
в точку расположения курсора.
|
||
\fB^K Y\fR удалит отмеченный текст.
|
||
\fB^K W\fR запишет его в файл.
|
||
|
||
Очень полезная команда - \fB^K /\fR, которая фильтрует блок текста через
|
||
команду unix. Например, если вы отметите список слов, и затем наберете
|
||
\fB^K / sort\fR, то этот список отсортируется. Другая полезная команда unix
|
||
для \fB^K /\fR - \fBtr\fR. Если вы введете
|
||
\fB^K / tr a-z A-Z\fR, то все латинские символы в блоке будут переведены в
|
||
верхний регистр.
|
||
|
||
По завершению операций с блоком вы можете просто оставить отметку включенной
|
||
и не обращать на нее внимания
|
||
(но, естественно, если вы случайно нажмете \fB^K
|
||
Y\fR ...). Если же это вас действительно беспокоит - просто нажмите
|
||
\fB^K B ^K K\fR для снятия отметки.
|
||
|
||
.SS Сдвиги блоков в программах
|
||
Режим автоотступа включается командой \fB^T I\fR.
|
||
\fBjoerc\fR обычно настроен так, что файлы с именами, зачанчивающимися на .p, .c
|
||
или .h открываются с включенным автоотступом. Если автоотступ включен и вы
|
||
нажимаете \fBEnter\fR, курсор переместится в ту же позицию следующей строки,
|
||
в которой находился первый непробельный символ исходной.
|
||
|
||
Вы можете использовать команды
|
||
\fB^K ,\fR и \fB^K .\fR для сдвига блока текста влево и вправо.
|
||
to the left or right. Если вы попытаетесь выполнить эти команды, когда блок
|
||
не отмечен - весь редактируемый текст будет отмечен, и при последующих
|
||
вызовах \fB^K ,\fR и \fB^K .\fR будет смещаться. Количество колонок, на
|
||
которое выполняется сдвиг данными командами, может быть установлено с
|
||
помощью опции \fB^T\fR.
|
||
|
||
.SS Окна
|
||
Вы можете редактировать более одного файла одновременно, или разные части
|
||
одного и того же файла. Для этого нажмите \fB^K O\fR, чтобы разрезать экрак
|
||
на два окна. Используйте \fB^K P\fR или \fB^K N\fR для перемещения между
|
||
окнами. Используйте \fB^K E\fR для редактирования нового файла в одном из
|
||
окон. Окно закроется, когда вы сохраните файл по
|
||
\fB^K X\fR или отмените редактирование по \fB^C\fR. Если вы прервете
|
||
радактирование одного и того же файла, но редактируемого в двух окнах,
|
||
закроется одно из окон закроется, но не файл.
|
||
|
||
Вы можете повторно нажать
|
||
\fB^K O\fR в окне, чтобы создать больше окон. Если на экране образовалось
|
||
слишком много окон, но вы не хотите их закрывать - можете нажать
|
||
\fB^K I\fR. Это приведет к тому, что на экране будет отображаться только
|
||
одно текущее окно. Повторное нажатие этой комбинации приведет к обратной попытке
|
||
- разместить все спрятанные окна на экране. Если вы открыли больше окон, чем
|
||
может поместиться на экране - вы можете нажать
|
||
\fB^K N\fR в самом верхнем или \fB^K P\fR в самом нижнем окне для доступа к
|
||
тем окнам, которые не влезли.
|
||
|
||
Если в командной строке вызова JOE вы указали более одного файла - каждый
|
||
будет размещен в отдельном окне.
|
||
|
||
Вы можете изменить высоту окна с помощью команд \fB^K G\fR и \fB^K T\fR.
|
||
|
||
.SS Клавиатурные макросы
|
||
|
||
С помощью макросов вы можете записать последовательность нажатий клавиш и
|
||
затем повторять ее по нажатию двух клавиш. Это полезно для автоматизации
|
||
повторяющихся задач. Чтобы начать запись макро - нажмите
|
||
\fB^K [\fR и затем число от 0 до 9. В статусной строке появится сообщение
|
||
(Запись макро n...). Теперь вводите последовательность клавиш, которую
|
||
желаете повторять. Вводимые команды будут действовать как обычно.
|
||
Нажмите \fB^K ]\fR для завершения записи макро. Нажмите
|
||
\fB^K\fR с последующей цифрой для повторения записанной ранее
|
||
последовательности нажатий.
|
||
|
||
Например, если вы желаете поместить "**" в начало некоторых строк - можете
|
||
ввести следующее:
|
||
|
||
\fB^K [ ^A ** \fR<стрелка вниз> \fB^K ]\fR
|
||
|
||
В начале записи макро перемещаете курсор в начало строки, вставляете "**",
|
||
перемещаете курсор на следующую строку и заканчиваете запись. Поскольку мы
|
||
включили в макро команду перемещения курсора на следующую строку - мы сможем
|
||
циклически поторять вызов макро, не переводя курсор вручную, что вам следует
|
||
часто иметь в виду при записи макро.
|
||
|
||
Если вы обнаружите, что макро, которое вы записывете, само включает в себя
|
||
повторяющиеся нажатия клавиш - вы можете записать макро внутри макро, только
|
||
с другим номером. Вы также можете вызывать ранее записанное макро при записи
|
||
нового.
|
||
|
||
|
||
.SS Повтор
|
||
Вы можете использовать команду повтора
|
||
\fB^K \e\fR, чтобы повторять вызов макро или любой команды редактирования,
|
||
или даже обычный символ, указанное количество раз. Нажмите
|
||
\fB^K \e\fR, введите желаемое число повторений команды и нажмите
|
||
\fBEnter\fR. Следующая введенная команда повторится указанное число раз.
|
||
|
||
Например, для удаления следующих 20 строк текста нажмите:
|
||
|
||
\fB^K \e\ 20\fR<Enter>\fB^Y\fR
|
||
|
||
.SS Режим прямоугольных блоков
|
||
Нажмите \fB^T X\fR если хотите, чтобы по \fB^K B\fR и \fB^K K\fR отмечались
|
||
прямоугольные, а не построчные блоки. Этот режим полезен для перемещения,
|
||
копирования, удаления или сохранения колонок текста. Вы также можете
|
||
фильтровать колонки текста с помощью команды
|
||
\fB^K /\fR, если, к примеру, пожелаете отсортировать колонку. Также
|
||
можно использовать команду вставки файла \fB^K R\fR.
|
||
|
||
Когда включен режим прямоугольных блоков, также может оказаться полезным
|
||
включить режим замещения
|
||
(\fB^T T\fR). В этом случае прямоугольники будут замещать существующий
|
||
текст. Также команда удаления блока
|
||
(\fB^K Y\fR) будет заполнять отмеченные прямоугольники пробелами и
|
||
табуляторами вместо того, чтобы удалять их. Режим замещения также может быть
|
||
полезен при выполнении команды фильтрации блока (\fB^K /\fR), поскольку исходная ширине
|
||
выбранной колонки останется неизменной.
|
||
|
||
.SS Поиск тагов
|
||
|
||
Если вы редактируете большую программу на языке C со многими исходными
|
||
файлами - можно использовать программу
|
||
\fBctags\fR для генерации файла \fBтагов\fR. Этот файл содержит список
|
||
имен, используемых в
|
||
программе и позиций в файлах, где эти имена определены. Команда
|
||
\fB^K ;\fR может использоваться для поиска имен (функций,
|
||
предопределенных констант, и т.п.), загрузки файла, в котором определено
|
||
данное имя, в текущее окно, и позиционирования курсора в точку определения.
|
||
\fB^K ;\fR запрашивает требуемое имя, используя слово, на котором находится
|
||
курсор, в качестве умолчания.
|
||
Поскольку \fB^K ;\fR загружает файл определения в текущее окно - возможно,
|
||
вам потребуется сначала разрезать окно с помощью команды
|
||
\fB^K O\fR, чтобы видеть одновременно и исходный файл, и файл определения.
|
||
|
||
.SS Окна шеллов
|
||
Нажмите \fB^K '\fR для выполнения командного шелла в окне JOE. Когда курсор
|
||
находится в конце окна шелла (используйте для этого \fB^K V\fR),
|
||
все, что вы вводите - будет передаваться в шелл, а не в окно. Любой вывод
|
||
шелла или вызываемых программ, выполняемых в нем, будет добавляться в окно
|
||
(курсор будет перемещаться за этот вывод, если находился в конце окна
|
||
шелла). Эта команда полезна для записи шелл-команд, например, вывода
|
||
\fBmake\fR, результата \fBgrep\fR над
|
||
множеством файлов, или списка файлов из сеанса \fBFTP\fR. Кроме того,
|
||
печатаемые символы, клавиши
|
||
^C, Backspace, DEL, Enter и ^D передаются в шелл. Введите команду шелла
|
||
\fBexit\fR для прекращения записи вывода шелла.
|
||
Если в окне шелла вы нажмете \fB^C\fR, когда курсор находится не в конце
|
||
окна, шелл будет прерван.
|
||
|
||
.SH Переменные \fBСреды\
|
||
|
||
Для корретной работы JOE необходимо правильно установить некоторые
|
||
переменные среды. Скорость (в бодах) связи между компьютером и вашим
|
||
терминалом следует правильно указывать для JOE, чтобы экран перерисовывался
|
||
плавно и можно было вводить вслепую для оптимизации отложенного вывода. Для
|
||
установки этого используйте команду
|
||
\fBstty nnn\fR. Значение следует указывать настолько точно, насколько это
|
||
возможно. Например, если вы подключаетесь через модем со скоростью 1200 бод
|
||
- вам следует использовать для \fBstty\fR именно это значение. Если вы
|
||
подключаетесь через модем со скоростью 14.4kбод, но терминальный сервер, к
|
||
которому вы подключены, связан с компьютером на скорости 9600 бод, вам
|
||
следует установить скорость 9600. Специальная скорость
|
||
38400 или \fBextb\fR используется для указания того, что вы используете
|
||
высокоскоростное подключение, такое как консоль или эмулятор терминала в
|
||
X-window. Если вы не можете использовать \fBstty\fR для установки реальной
|
||
скорости (возможно, потому, что скорость связи модема с компьютером отличается от
|
||
скорости в линии) - вы можете вместо этого записать числовое значение в
|
||
переменную среды \fBBAUD\fR (используйте \fBsetenv
|
||
BAUD 9600\fR для csh или \fBBAUD=9600; export BAUD\fR для sh).
|
||
|
||
Переменная среды \fBTERM\fR должна указывать на тип используемого вами
|
||
терминала. Если размер (число строк/колонок) вашего терминала отличается от
|
||
указанного в его описании TERMCAP или TERMINFO - вы можете установить
|
||
правильное знение с помощью команды
|
||
\fBstty rows nn cols nn\fR, или определив переменные среды
|
||
\fBLINES\fR и \fBCOLUMNS\fR.
|
||
|
||
Обычно JOE ожидает, что для управления потоком данных между компьютером и
|
||
вашим терминалом используется протокол
|
||
^S/^Q (т.е., если компьютер посылает данные слишком быстро для вашего
|
||
терминала - терминал посылает ^S для приостановки вывода и
|
||
^Q для его продолжения). Если для управления потоком используется
|
||
аппаратный протокол, или если ваш терминал достаточно быстр, чтобы всегда
|
||
во-время отрабатывать компьютерный вывод и вы желаете использовать
|
||
^S/^Q в качестве команд редактирования - вы можете установить переменную
|
||
среды \fBNOXON\fR, чтобы JOE пытался принимать ^S/^Q.
|
||
Если связь между компьютером и вашим терминалом не использует никакого
|
||
протокола управления потоком, а ваш терминал недостаточно быстр, чтобы
|
||
вовремя отрабатывать вывод компьютера - можете установить переменную среды
|
||
\fBDOPADDING\fR, чтобы \fBJOE\fR замедлял вывод путем вставки символов
|
||
заполнения в последовательности изменения экрана.
|
||
|
||
.SH Имена файлов
|
||
Когда JOE ожидает от вас ввода имени файла - неважно, из командной ли
|
||
строки, или по запросу редактора, вы также можете вводить:
|
||
|
||
.IP \fB!command
|
||
Читать или писать данные из или в команду шелла. Например, используйте
|
||
\fBjoe '!ls'\fR для редактирования всех файлов из текущей директории, или в
|
||
редакторе выполните \fB^K D !mail jhallen@world.std.com\fR для отправки мне
|
||
редактируемого файла.
|
||
|
||
.IP \fB>>filename
|
||
Используйте это, чтобы JOE добавил редактируемый текст в конец файла
|
||
"filename."
|
||
|
||
.IP \fBfilename,START,SIZE
|
||
Используйте это для доступа к определенной части файла или устройства.
|
||
\fBSTART\fR и
|
||
\fBSIZE\fR могут указываться в десятичном виде (напр.: 123), в восьмеричном
|
||
(напр.: 0777) или шестнадцатиричном (напр.: 0xFF). Например, используйте
|
||
\fBjoe /dev/fd0,508,2\fR для редактирования байтов 508 и 509 на первом
|
||
флоппи-диске в Linux.
|
||
|
||
.IP \fB-
|
||
Используйте это для получения данных со стандартного ввода или для записи на
|
||
стандартный вывод. Например, вы можете использовать joe в конвейере команд:
|
||
\fBquota -v | joe - | mail root\fR, если хотите пожаловаться на ваши низкие
|
||
квоты.
|
||
|
||
|
||
.SH Файл \ joerc
|
||
Все опции, доступные по
|
||
\fB^T\fR, экран подсказки и комбинации клавиш команд редактора
|
||
определяются в инициализационном файле JOE. Если вы скопируете этот
|
||
файл (обычно расположенный в \fB/home/jie/project/joe/bin/etc/joe/joerc\fR) в
|
||
\fB$HOME/.joerc\fR, то сможете настраивать все это по своему вкусу.
|
||
Синтаксис инициализационного файла достаточно понятен, и внутри него
|
||
содержатся подробные инструкции.
|
||
|
||
.SH Благодарности
|
||
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>
|
||
|