Hacker News new | ask | show | jobs
by agateau 1351 days ago
I don't understand why people dislike GNU Info doc. I often do not think about checking them, because `man` is so ingrained in my brain, but when I do I often find them quite good. For example the info page for tar is much more complete than its man page.
1 comments

Probably a UI issue. 'info' is very weird unless your an emacs user. 'man' is just open and scroll up and down.
`man' is awful when there is more than a few "pages" to scroll through and you can't easily skip stuff because it is an all or nothing endless scroll of text.

It is great for references, but not for reading in a non-linear way. They are called "manpages" after all, not "mantomes" :-P.

Texinfo and similar are much better for this and the info format is fine as a text-based format (or with some minimal image use but not all viewers support those).

The problem is that the default `info' viewer feels weird to most people, but there are alternatives like `pinfo' (which IIRC uses lynx-like keys) and `tkinfo' (a GUI-based viewer written in Tcl and Tk). IIRC KDE's help viewer can also view info documents.

Texinfo and info is also nice with its index functionality and how it supports multiple indices. In a way info is kinda like CHM (but with optionally multiple indices) and Texinfo is the official way to make info documents.

Does anyone know of alternative UIs for viewing info pages? Using less(1) would be nice, but is it straightforward to do so?
https://github.com/baszoetekouw/pinfo

mature project packaged for Debian and other distros, nice colorful curses-based UI, fast muscle-memory conducive keyboard control, you're welcome

Sure, that's how I do it.

  $ info git | less
Wait, does git actually have documentation in info format?

  $ info git | head
  info: No menu item 'git' in node '(dir)Top'
  GIT(1)                         Git Manual                         GIT(1)

  NAME
       git - the stupid content tracker

  SYNOPSIS
       git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
That's just info(1) falling back to the man page.
second that

man page or web search