ИМЯ
deco - "Демос Командер" Экранный интерфейс для UNIX
ФОРМАТ
ОПИСАНИЕ
DECO, или Демос Командер - экранный интерфейс для ОС UNIX,
разработанный по мотивам широко известного NC (Нортон
Командер) для IBM PC (система MS-DOS).
Обозначения
Ниже управляющие символы обозначены как ^X, что означает
CTRL+X.
Имя "~" в именах файлов означает "домашний справочник".
Функциональные
клавиши
DECO настраивается на конкретный тип терминала посредством
файла описаний терминалов termcap. При работе DECO использует
10 функциональных клавиш, которые в данной инструкции
обозначаются F1 - F9, F10. Для определения клавиш используются
описатели 'termcap' f0, f1...f9 для команд F10,
F1...F9; kl, kr, ku, kd для стрелок влево, вправо, вверх,
вниз; kh, kH, kP, kN - начало, конец экрана, предыдущая,
следующая страница; kI - отметка, kD - удаление символа.
Для терминалов, не имеющих дополнительной клавиатуры,
существует возможность задания команд управляющими символами
или последовательностью вида ESC X.
Ниже приведена таблица команд.
Команда (клавиша PC)
| Клавиша VT-220
| Альтернативный ввод
|
F1 |
-1- |
ESC 1 |
F2 |
-2- |
ESC 2 |
F3 |
-3- |
ESC 3 |
F4 |
-4- |
ESC 4 |
F5 |
-5- |
ESC 5 |
F6 |
-6- |
ESC 6 |
F7 |
-7- |
ESC 7 |
F8 |
-8- |
ESC 8 |
F9 |
-9- |
ESC 9 |
F10 |
-0- |
ESC 0 |
стрелка вверх |
вверх |
ESC u |
стрелка вниз |
вниз |
ESC d |
стрелка влево |
влево |
ESC l |
стрелка вправо |
вправо |
ESC r |
HOME |
Home |
ESC h |
END |
End |
ESC e |
PgUP |
PrevPage |
ESC p |
PgDN |
NextPage |
ESC n |
INS |
Ins |
^T |
DEL |
Del |
^G |
Заметим, что на некоторых устройствах, например, на консоли
Xenix используются клавиши F1-F10, а на остальных -
клавиши 1-9,0 дополнительной клавиатуры.
ОТМЕНА КОМАНДЫ И ВЫХОД ИЗ DECO
В любом состоянии DECO нажатие F10 вызывает возврат в
основное состояние и отмена текущего меню. Если DECO находится
в обычном режиме (ввод команды системы), то F10
вызывает меню выхода из DECO:
Do you want to exit from DECO commander
Yes No Shell
|
Выбор "YES" (выйти), "No" (не выходить) и "Shell" (вызвать
csh) производится клавишами со стрелками и нажатием
"Return" ("Enter" на IBM PC). Если выбран "Shell", для
возврата в DECO нужно набрать (в csh) команду "exit".
Получение подсказки
По клавише F1 выдается встроенная подсказка. Для возврата
обратно нажмите F10.
Окна DECO и режимы работы
Обычно DECO высвечивает на экране два окна (правое и
левое), в которых отображаются два каталога системы. Одно
из этих окон (его имя выделено) является текущим, вся
работа идет в нем. Второе используется для указания, куда
копировать (а также передвигать или линковать) файлы, а
также для высвечивания информации о рабочем окне (см.
команду ^L). Для быстрого перехода из окна в окно служит
команда TAB (клавиша "Tab" или ^I), а для смены местами
окон на экране - ^U.
Команды системы выполняются из DECO так же, как и из обычного
интерпретатора sh или csh (см. ниже "Выполнение
команд ОС UNIX"). Для выполнения команд DECO вызывает
интерпретатор csh. Единственным отличием является то, что
shell каждый раз инициализируется заново, и поэтому
переменные не запоминаются. Изначально DECO находится в
экранном режиме работы, в котором высвечены окна, информационная
строка (вверху экрана, в нее входит имя машины,
имя пользователя, терминал и текущее время), и строка
подсказки (внизу экрана). В этом режиме выполняются все
команды DECO (F1 - F10 и другие). После выполнения очередной
команды DECO остается в неэкранном режиме ввода
команд, не высвечивая (для скорости) окна и подсказку. В
этом режиме выполняются только команды системы, а также
некоторые команды DECO, такие, как ^B - работа с History
(протоколом команд). Если введена пустая команда (клавиша
Return), происходит возврат в экранный режим работы и
высвечиваются окна. В некоторых случаях (например, запрос
History из неэкранного режима) DECO может перейти в экранный
режим, не высвечивая окна. При работе с различными
меню DECO переходит в меню режим. В этом случае выполняются
команды, перечисленные в меню, стрелки передвигают
курсор по меню, а команда F10 всегда означает "Прервать
режим меню".
Выполнение команд ОС UNIX
Обычно DECO находится в режиме окна, когда с помощью стрелок
можно "ходить" по каталогу и выбирать файлы, а также
формировать командную строку, набирая символы. Командой
LineFeed или ^J можно добавлять в конец командной строки
имена текущего или отмеченных файлов. Командами ^E и ^X
можно "передвигаться" по history, т. е. "вспоминать" ранее
выполненные команды. Стереть командную строку можно командой ^Y.
Выполненные команды системы запоминаются в History. Вызвать
History можно как их основного меню DECO, так и
командой ^B. При работе с History стрелки перемещают курсор
по командам, команда ^J служит для подстановки в
командную строку, а Return - для подстановки и выполнения
команды.
Для внесения исправлений в командную строку служит режим
редактирования. Его признак - не выделяется имя справочника
на окнах DECO. Включить/выключить его можно командой
^P. В режиме редактирования стрелки влево-вправо перемещают
курсор по командной строке, стрелки вверх-вниз - по
history. Командой Del или ^G можно удалять символы под
курсором.
Работа с отмеченными файлами
Отмеченные файлы применяются для указания имен файлов различным
командам. Отмечать можно только регулярные файлы.
Для маркировки файлов (и снятия маркировки) служат следующие команды:
Ins либо ^T
Установка и снятие маркировки текущего файла.
+
Установка маркировки на группу файлов по шаблону.
-
снятие маркировки с группу файлов по шаблону.
Если отмеченных файлов нет, их роль в командах играет
текущий файл.
Вызов меню
По команде F9 происходит переход в режим меню. Для выполнения
выберите нужную команду и нажмите Return.
Структура меню приведена ниже. Многие команды можно вызывать
минуя режим окна, для них справа приводится соответствующая команда.
Left /
Brief |
Long |
Full |
Status | ^L |
Re-read | ^R |
Pattern Files /
Help | F1 |
User menu | F2 |
View | F3 |
Edit | F4 |
Copy | F5 |
Link Symbolic |
Link Rename/move | F6 |
Make directory | F7 |
Delete | F8 |
Quit | F10 |
Commands /
Exit to shell |
Compare directories |
Find file | ^K |
History | ^B |
Home directory | ^\ |
Root directory | ^_ |
Redraw screen | ^] |
Options /
Switch panels | ^I |
Swap panels | ^U |
Full screen | ^F |
Double width | ^W |
Command line regime | ^P |
Viewer... |
Editor... |
Save setup |
Right /
Brief |
Long |
Full |
Status | ^L |
Re-read | ^R |
Далее приводится подробное описание команд из меню.
Настройка окон
Разделы меню Left, Right предназначены для изменения состояния
левого и правого окон соответственно. Команды
Brief, Long, Full задают степень подробности информации о
файлах. Команда Status включает/выключает окно статуса,
расположенное в противоположном окне. Команда Re-read
перечитывает каталог. Команда Pattern задает шаблон
"видимых" имен файлов. Шаблон задается по обычным правилам,
по которым формируются имена файлов в UNIX: ? означает
"произвольный символ", * - произвольное число любых
символов, [cимволы] - любой из этих символов, ^ в первой
позиции - "все файлы, не совпадающие с шаблоном". Подробнее
см. в разделе "Шаблоны файлов". Например, шаблон
"^*.[bo]" означает "не показывать объектные и 'bak'
файлы".
Работа с файлами
Раздел меню Files предназначен для работы с файлами.
Большинство команд этого раздела расположены на функциональной
клавиатуре. Команды копирования, линкования или
перемещения используют другое окно для определения того,
куда копировать, перемещать или линковать файлы по умолчанию.
F3 - View
Просмотр текущего файла. По умолчанию используется
встроенное средство. Командой меню Options/Viewer
можно установить имя внешней утилиты, например,
"less -Mepq". Сохранить установку можно командой
меню Options/Save setup.
F4 - Edit
Редактирование текущего файла. По умолчанию используется
встроенный редактор. В версии 1.0 редактор
не реализован. Командой меню Options/Editor можно
установить имя внешнего редактора, например, "re
-+i", и затем командой Options/Save запомнить его
для последующих вызовов DECO.
F5 - Copy
Копирование текущего или отмеченных файлов.
F6 - Rename/move
Перемещение файлов или каталога.
F7 - Make directory
Создание нового каталога.
F8 - Delete
Удаление файлов или каталога.
Link
Symbolic link
Создание символической ссылки на файл.
Различные команды
Раздел меню Commands содержит разнообразные команды.
Exit to shell
Временный выход в интерпретатор команд shell
(cshell). Возврат обратно в DECO происходит по
команде exit.
Compare directories
Сравнение каталогов. Отмечаются несовпадающие
файлы в левом и правом каталогах.
Find file
Установка курсора на файл по имени.
History
Выбор и повторение одной из предыдущих команд.
Выберите команду и нажмите Return или ^M, чтобы
выполнить. Если нажать LineFeed или ^J, то команда
будет занесена в командную строку и ее можно будет
подредактировать.
Home directory
Выход в "домашний" каталог.
Root directory
Выход в корневой каталог.
Redraw screen
Настройка режимов
Раздел меню Options служит для установки и сохранения
режимов работы DECO.
Switch panels
Переход в противоположное окно.
Swap panels
Full screen
Double width
Command line regime
Включение/выключение режима редактирования командной
строки. В этом режиме стрелки "ходят" влево-вправо
по командной строке.
Viewer
Установка внешней утилиты для просмотра файлов.
Editor
Установка внешнего редактора.
Save setup
Сохранение установок в файле ~/.decoini. При
запуске DECO считываются файлы
~/.decoini или
/usr/local/lib/deco/initfile или
/usr/lib/deco/initfile.
Встроенные команды
cd [имя]
Переход в каталог по имени.
exit
Пользовательские меню
В DECO существует возможность создавать меню, определяемые
пользователем. По команде F2 происходит считывание файла
.menu, содержащего описание меню. Если файл .menu не
найден, считывается файл ~/.menu или
/usr/local/lib/deco/menu или /usr/lib/deco/menu.
Файл с описанием меню имеет следующую структуру:
# Комментарий
<символ> <описание команды> <команда>
<символ> <описание команды> <команда>
...
Символ - латинская буква или цифра или имя функциональной
клавиши F1-F10. При нажатии этой клавиши происходит
выполнение команды меню. Команда может содержать макросы
вида %X, которые заменяются по следующим правилам:
%f имя текущего файла
%b имя текущего файла без расширения
%d имя текущего каталога
%c полное имя текущего каталога
%h полное имя домашнего каталога
%u имя пользователя
%g имя группы пользователя
%% символ '%'
В начале команды могут стоять символы-признаки:
- после выполнения остаться в режиме окна
@ не заносить команду в history
Пример файла с меню:
w Count lines in source code
wc *.h *.c
b Remove bak files
-@rm -f *.b .*.b
d Show my processes
ps -fu %u
s Syncing disks
-@sync
Выполнение файлов
Если в режиме окна при нажатии клавиши Return или ^M
командная строка пуста, и текущий файл является каталогом,
происходит переход в этот каталог. Если текущий файл -
выполняемый, он выполняется. Если же текущий файл - обычный
регулярный, то выполняется соответствующая его имени
команда, описанная в файле ~/.deco. Этот механизм позволяет
пользователю для каждого файла выполнять действия,
зависящие от его имени. Например, для файлов c именем *.c
запускать Си-компилятор, для файлов Makefile, makefile -
make и т. п.
Если файл ~/.deco не найден, считывается файл
/usr/local/lib/deco/profile или /usr/lib/deco/profile.
Файл с описанием действий по имени имеет следующую структуру:
# Комментарий
<шаблон1> <шаблон2>...<шаблонN> <команда>
<шаблон1> <шаблон2>...<шаблонN> <команда>
...
Команда может содержать макросы (см. пользовательские
меню).
Пример файла ~/.deco:
.menu .deco .cshrc .login *.c *.h
vi %f
*.b
rm %f
Makefile makefile *.mk
make -f %f
core
adb
*.o
nm %f | more
*.a
ar tv %f | more
Шаблоны имен файлов
Шаблоны имен файлов могут содержать следующие метасимволы:
^ |
В начале шаблона - признак дополнения - все файлы,
не подходящие под шаблон. |
* |
Произвольная последовательность символов, возможно, пустая. |
? |
Произвольный символ. |
[abcx-y] |
Произвольный символ из указанного набора. |
[^abcx-y] |
Произвольный символ, не входящий в набор. |
ФАЙЛЫ
~/.decoini
/usr/local/lib/deco/initfile
/usr/lib/deco/initfile
Файлы режимов и начальных установок.
.menu
~/.menu
/usr/local/lib/deco/menu
/usr/lib/deco/menu
~/.deco
/usr/local/lib/deco/profile
/usr/lib/deco/profile
Файлы с описанием действий по имени.
ЗАМЕЧАНИЯ
Если изображение на экране исказилось, например, из-за
помех в терминальной линии, его можно восстановить командой
^].
ССЫЛКИ
ОШИБКИ
Встроенный редактор в версии 1.0 не реализован. Иногда
неправильно выдается время. Файл .dirinfo не считывается.
Нет команд set, setenv. Нельзя ввести управляющий символ
в командную строку.