DECO(1)

ИМЯ
deco - Экранный интерфейс для UNIX

ФОРМАТ
deco [каталог]

ОПИСАНИЕ

DECO, или Демос Командер - экранный интерфейс для ОС UNIX, разработанный по мотивам широко известного Нортон Командера.

Обозначения

Ниже управляющие символы обозначены как ^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

Заметим, что на некоторых устройствах, например, на консоли PC AT используются клавиши F1-F10, а на остальных - клавиши 1-9, 0 дополнительной клавиатуры.

Отмена команды и выход из DECO

В любом состоянии DECO нажатие F10 вызывает возврат в основное состояние и отмена текущего меню. Если DECO находится в обычном режиме (ввод команды системы), то F10 вызывает меню выхода из DECO:
 Do you want to exit from DECO commander
   Yes No Exec shell

Выбор "Yes" (выйти), "No" (не выходить) и "Exec shell" (вызвать csh) производится клавишами со стрелками и нажатием <Return> (<Enter> на клавиатуре PC). Если выбран "Shell", для возврата в DECO нужно набрать (в csh) команду "exit".

Получение подсказки

По клавише F1 выдается встроенная подсказка. Для возврата обратно нажмите F10.

Окна DECO и режимы работы

Обычно DECO высвечивает на экране два окна (правое и левое), в которых отображаются два каталога системы. Одно из этих окон (его имя выделено) является текущим, вся работа идет в нем. Второе используется для указания, куда копировать (а также передвигать) файлы, а также для высвечивания информации о рабочем окне (см. команду ^L). Для быстрого перехода из окна в окно служит команда <Tab> (клавиша <Tab> или ^I), а для смены местами окон на экране - ^U.

Команды системы выполняются из DECO так же, как и из обычного интерпретатора sh или csh (см. ниже "Выполнение команд ОС UNIX"). Изначально DECO находится в экранном режиме работы, в котором высвечены окна, информационная строка (вверху экрана, в нее входит имя машины, имя пользователя, терминал и текущее время), и строка подсказки (внизу экрана). В этом режиме выполняются все команды DECO (F1 - F10 и другие). После выполнения очередной команды DECO остается в неэкранном режиме ввода команд, не высвечивая (для скорости) окна и подсказку. В этом режиме выполняются только команды системы, а также некоторые команды DECO, такие, как ^B - работа с History (протоколом команд). Если введена пустая команда (клавиша Return), происходит возврат в экранный режим работы и высвечиваются окна. В некоторых случаях (например, запрос History из неэкранного режима) DECO может перейти в экранный режим, не высвечивая окна. При работе с различными меню DECO переходит в меню режим. В этом случае выполняются команды, перечисленные в меню, стрелки передвигают курсор по меню, а команда F10 всегда означает "Прервать режим меню".

Выполнение команд ОС UNIX

Обычно DECO находится в режиме окна, когда с помощью стрелок можно "ходить" по каталогу и выбирать файлы, а также формировать командную строку, набирая символы. Командой ^J можно добавлять в конец командной строки имена текущего или отмеченных файлов. Командами ^E и ^X можно "передвигаться" по history, т. е. "вспоминать" ранее выполненные команды. Стереть командную строку можно командой ^Y.

Выполненные команды системы запоминаются в History. Вызвать History можно как их основного меню DECO, так и командой ^B. При работе с History стрелки перемещают курсор по командам, команда ^J служит для подстановки в командную строку, а <Return> - для подстановки и выполнения команды.

Для внесения исправлений в командную строку служит режим редактирования. Его признак - не выделяется имя справочника на окнах DECO. Включить/выключить его можно командой ^P. В режиме редактирования стрелки влево-вправо перемещают курсор по командной строке, стрелки вверх-вниз - по history. Командой <Del> или ^G можно удалять символы под курсором.

Для ввода управляюшего символа в командную строку служит команда ^V. Следующий за нею символ заносится в строку без предварительной обработки.

Типы файлов

DECO различает обычные файлы, каталоги и специальные файлы. Тип каждого файла указывается символом слева от его имени в окне. Имеются следующие типы файлов:

пробел
    обычный, или регулярный файл

*   выполняемый файл

/   каталог

&   каталог, недоступный для входа

$   символьное устройство

#   блочное устройство

=   FIFO-файл

~   символическая ссылка

@   символическая ссылка на отсутствующий файл

!   именованное гнездо (socket)

Работа с отмеченными файлами

Отмеченные файлы применяются для указания имен файлов различным командам. Отмечать можно только регулярные файлы. Для маркировки файлов (и снятия маркировки) служат следующие команды:

<Ins> либо ^T
    Установка и снятие маркировки текущего файла.

+   Установка маркировки на группу файлов по шаблону.

-   Снятие маркировки с группу файлов по шаблону.

Если отмеченных файлов нет, их роль в командах играет текущий файл.

Вызов меню

По команде F9 происходит переход в режим меню. Для выполнения выберите нужную команду и нажмите <Return>.

Структура меню приведена ниже. Многие команды можно вызывать минуя режим окна, для них справа приводится соответствующая команда.
 Left /
     Brief
     Long
     Full
     Status ^L
     Align extensions
     Sort by name
     Extension
     Time
     Size
     Unsorted
     Reverse
     Sort by type
     Re-read ^R
     Pattern
 Files /
     Help F1
     User menu F2
     View F3
     Edit F4
     Copy F5
     Link
     Symlink
     Rename/move F6
     Make directory F7
     Delete F8
     Select group +
     Unselect group -
     Quit F10
 Commands /
     Run subshell
     Compare directories
     Find file ^K
     History ^B
     Home directory ^\
     Root directory ^_
     Redraw screen ^]
     Menu file edit
     Extensions file edit
 Options /
     Switch panels ^I
     Swap panels ^U
     Full screen ^F
     Double width ^W
     Command line mode ^P
     Show hidden files
     Viewer...
     Editor...
     Shell...
     Save setup
 Right /
     Brief
     Long
     Full
     Status ^L
     Align extensions
     Sort by name
     Extension
     Time
     Size
     Unsorted
     Reverse
     Sort by type
     Re-read ^R
     Pattern

Далее приводится подробное описание команд из меню.

Настройка окон

Разделы меню Left, Right предназначены для изменения состояния левого и правого окон соответственно. Команды Brief, Long, Full задают степень подробности информации о файлах. Команда Status включает/выключает окно статуса, расположенное в противоположном окне. Команда Align extensions управляет режимом выравнивания расширений имен файлов по правому краю.

Следующая группа команд задает способ сортировки файлов в окне. Сначала файлы сортируются по типу (каталог, устройство, пр.), а внутри типа - по какому-либо параметру (имя, расширение, размер, время модификации). Команды Sort by name, Extension, Time, Size задают режим сортировки по параметру. Команда Unsorted выключает сортировку по параметру. Команда Sort by type выключает сортировку по типу. Команда Reverse включает обратную сортировку.

Команда Re-read перечитывает каталог. Команда Pattern задает шаблон "видимых" имен файлов. Шаблон задается по обычным правилам, по которым формируются имена файлов в UNIX: ? означает "произвольный символ", * - произвольное число любых символов, [символы] - любой из этих символов, ^ в первой позиции - "все файлы, не совпадающие с шаблоном". Подробнее см. в разделе "Шаблоны файлов". Например, шаблон "^*.[bo]" означает "не показывать объектные и 'bak' файлы".

Работа с файлами

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

Help - F1
    Выдача краткой справки.

User menu - F2
    Вызов пользовательского меню.

View - F3
    Просмотр текущего файла. По умолчанию используется встроенное средство. Командой меню Options/Viewer можно установить имя внешней утилиты, например, "less -Mepq". Сохранить установку можно командой меню Options/Save setup.

Edit - F4
    Редактирование текущего файла. По умолчанию используется встроенный редактор. Командой меню Options/Editor можно установить имя внешнего редактора, например, "re -+i", и затем командой Options/Save запомнить его для последующих вызовов DECO.

Copy - F5
    Копирование текущего или отмеченных файлов.

Rename/move - F6
    Перемещение файлов или каталога.

Make directory - F7
    Создание нового каталога.

Delete - F8
    Удаление файлов или каталога.

Link
    Создание ссылки на файл.

Symlink
    Создание символической ссылки на файл.

Select group - +
    Пометка группы файлов по шаблону.

Unselect group - -
    Снятие пометки с группы файлов по шаблону.

Различные команды

Раздел меню Commands содержит разнообразные команды.

Run subshell
    Временный выход в интерпретатор команд shell (cshell). Возврат обратно в DECO происходит по команде exit.

Compare directories
    Сравнение каталогов. Отмечаются несовпадающие файлы в левом и правом каталогах.

Find file
    Установка курсора на файл по имени.

History
    Выбор и повторение одной из предыдущих команд. Выберите команду и нажмите Return или ^M, чтобы выполнить. Если нажать LineFeed или ^J, то команда будет занесена в командную строку и ее можно будет отредактировать.

Home directory
    Выход в "домашний" каталог.

Root directory
    Выход в корневой каталог.

Redraw screen
    Перерисовка экрана.

Menu file edit
    Редактирование файла меню.

Extensions file edit
    Редактирование файла расширений.

Настройка режимов

Раздел меню Options служит для установки и сохранения режимов работы DECO.

Switch panels
    Переход в противоположное окно.

Swap panels
    Перестановка окон.

Full screen
    Управление высотой окон.

Double width
    Управление шириной окон.

Command line mode
    Включение/выключение режима редактирования командной строки. В этом режиме стрелки перемещают курсор влево-вправо по командной строке.

Show hidden files
    Включение/выключение режима отображения файлов, имена которых начинаются с точки.

Viewer
    Установка внешней утилиты для просмотра файлов.

Editor
    Установка внешнего редактора.

Shell
    Выбор системного интерпретатора команд /bin/sh или /bin/csh.

Save setup
    Сохранение установок в файле ~/.decoini. При запуске DECO считываются файлы ~/.decoini или /usr/local/lib/deco/initfile или /usr/lib/deco/initfile.

Встроенные команды

cd

chdir
    Переход в домашний каталог.

cd dirname

chdir dirname
    Переход в каталог с именем "dirname".

set name value

setenv name value
    Установка значения глобальной переменной.

unset name

unsetenv name
    Удаление глобальной переменной.

env

printenv
    Печать списка глобальных переменных.

pwd Печать полного имени текущего каталога.

exit
    Выход из DECO.

Команды встроенного редактора

Встроенный редактор имеет следующую систему команд:

Стрелки
    Перемещение по файлу.

Текстовые символы
    Ввод текста.

Del Удаление символа под курсором.

BackSpace
    Удаление символа слева от курсора.

^Y  Удаление текущей строки.

^K  Удаление текста от курсора до конца строки.

Save - F2
    Запись файла.

Raw - F3
    Управление отображением символов с кодом, большим 127.

Top - F5
    Переход в начало файла.

Bottom - F6
    Переход в конец файла.

Search - F7
    Текстовый или шестнадцатеричный поиск.

Home - F8
    Переход в начало экрана.

Spaces - F9
    Переключение режима отображения пробелов и табуляций символами пониженной яркости. Пробелы отображаются точками, табуляции - подчерками.

Quit - F10
    Выход из редактора.

Пользовательские меню
В DECO существует возможность создавать меню, определяемые пользователем. По команде F2 происходит считывание файла .menu, содержащего описание меню. Если файл .menu не найден, считывается файл ~/.menu или /usr/local/lib/deco/menu или /usr/lib/deco/menu. Файл с описанием меню имеет следующую структуру:
 # Комментарий
 <символ> <описание команды>
         <команда>
 <символ> <описание команды>
         <команда>
 . . .

Символ - латинская буква или цифра или имя функциональной клавиши F1-F10. При нажатии этой клавиши происходит выполнение команды меню. Команда может содержать макросы вида %X, которые заменяются по следующим правилам:
 %f имя текущего файла
 %b имя текущего файла без расширения
 %t список отмеченных файлов
 %d имя текущего каталога
 %c полное имя текущего каталога
 %h полное имя домашнего каталога
 %u имя пользователя
 %g имя группы пользователя
 %% символ '%'

В начале команды могут стоять символы-признаки:

-   после выполнения остаться в режиме окна

@   не заносить команду в history

Пример файла с меню:
 F1 Main menu
    !%h/.menu
 F2 Default menu
    !/usr/lib/deco/menu
 w Count lines of source code
    wc *.h *.c
 b Remove bak files
    -@rm -f *.b *.b
 d Show my processes
    ps -fu %u
 s Synchronize 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
       re %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

    Файлы с описанием действий по имени.

ЗАМЕЧАНИЯ

Если изображение на экране исказилось, например, из-за помех в терминальной линии, его можно восстановить командой ^].

ССЫЛКИ

csh (1), termcap (5)