Определение

GNU Info — это читалка для info-страниц.

Дополнительные комментарии

В современности почти не используется, но в основном предназначена для чтения документации к программам GNU, которые написаны в виде info-страниц.

Читалка сложная в освоении (да, это читалка для документации, которой нужно учиться пользоваться!), но весьма полезная, потому что info-страницы для многих утилит написаны с таким количеством примеров и с такой детализацией и глубиной, что их можно читать как захватывающую книгу.

В каждом узле, в каждом описании функции или команды скрыта своя история, представленная с юмором и остроумием.

Если времени осваивать саму читалку нет, то стоит обратиться к html-версии тех же info-страниц. Начать можно отсюда: GNU Coreutils 9.4

Особенности

info-страницы имеют древовидную структуру с узлами, что позволяет создавать более сложную документацию, чем это возможно с man-страницами.

Так, поддерживаются:

  • Гипертекстовые ссылки,
  • Меню внутри узлов,
  • Как следствие, возможность нелинейной навигации по документам (т.е. не обычное линейное пролистывание сверху-вниз, а переход на параграфы, главы и пр).

Более подробное сравнение с другими форматами можно найти, например, здесь: http://www.stargrave.org/InfoRules.html

Структура info-страниц

У документов .info древовидная структура: каждый такой документ можно представить в виде дерева, состоящего из узлов с текстом. Большие документы удобно разбивать на такие узлы (например, сделать параграфы и главы статьи отдельными узлами).

info собирает все доступные в системе .info документы под общим корнем, он называется dir.

навигация по структуре документа структура info-страниц

Навигация в GNU Info

Навигация в GNU Info — это навык сам по себе, у которого, к сожалению, есть некоторый порог входа и на овладение которым придётся потратить время.

Прокрутка текста внутри узла

  • Пролистывание на одну строку вниз/вверх: Используйте стрелки для перемещения вверх и вниз по тексту внутри узла.
  • Прокрутка страницы: Используйте Space для прокрутки вниз на одну страницу и Backspace для прокрутки вверх на одну страницу.

Переход между узлами

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

  • Следующий или предыдущий узел в порядке обхода в ширину: n(next) и p (previous)
  • Следующий или предыдущий узел в порядке обхода в глубину: ] (next) и [ (previous)
  • Перейти на узел dir: d (dir)
  • Перейти на верхний узел (обычно сам .info документ): t (top)

Другое

  • Следующая/предыдущая ссылка: Чтобы найти следующую ссылку, нажимайте Tab, а для перехода на предыдущую Shift + Tab
  • Выход: q (quit)
  • Короткая справка по существующим горячим клавишам: H (Help; выйти из неё можно с помощью q)
  • Открыть документ с руководством по использованию самой читалки GNU info: h (help)
  • Предыдущий посещённый узел: l (latest).
  • Поиск: s, затем ввести поисковый запрос и нажать Enter.
  • Переход по меню [оно обычно есть в конце каждого узла]: нажать клавишу m, затем ввести название пункта меню и нажать Enter.

Откуда начать

Попробуйте начать с документации к командам ls, grep, sed и awk:

info ls

Пролистайте все узлы различными способами, описанными выше. Обратите внимание на то, как изменяется нумерация в заголовках при обходе узлов в ширину/в глубину.

Поймите что за узел будет открыт в результате вызова такой команды:

info '(coreutils)ls invocation'

Попробуйте составить аналогичные примеры для других утилит.

Советы и технические детали

Standalone GNU Info vs Emacs

info-страницы можно читать с помощью читалки GNU info или с помощью текстового редактора Emacs.

GNU Info хватит для большинства пользователей, но Emacs может оказаться более удобным.

Настройка GNU Info

Горячие клавиши и цветовую схему читалки можно настроить под себя, изменив файл .infokey.

Форматы файлов

Файлы Info с расширением .info обычно генерируются из файлов Texinfo (.texi). Texinfo — это система документации, позволяющая выводить данные в различных форматах, включая Info, PDF и HTML.