For many, many years now when I want to browse a man page about something I’ll type man X into my terminal, substituting X for whatever it is I wish to learn about. Depending on the manual, it’s short and therefore easy to find what I want, or I am deep in the woods because I’m trying to find a specific flag that appears many times in a very long document. Woe is me if the flag switch is a bare letter, like x.

And let’s say it is x. Now I am searching with /x followed by n n n n n n n n N n n n n n. Obviously I’m not finding the information I want, the search is literal (not fuzzy, nor “whole word”), and even if I find something the manual pager might overshoot me because finding text will move the found line to the top of the terminal, and maybe the information I really want comes one or two lines above.

So… there HAS to be a better way, right? There has to be a modern, fast, easily greppable version to go through a man page. Does it exist?

P.S. I am not talking about summaries like tldr because I typically don’t need summaries but actual technical descriptions.

  • PseudoSpock@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago
           man -k printf
               Search  the short descriptions and manual page names for the keyword
               printf as regular expression.  Print out any matches.  Equivalent to
               apropos printf.
    
  • ssm@lemmy.sdf.org
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    the / and ? commands in the pagers more and most less implementations should support regular expressions (usually BREs in my experience); which is the same thing grep uses. Consider reading your friendly neighborhood regex formatting manpage, if you are confused. As for easily scrolling, ^G to terminate your search followed by b (or your favorite vi or emacs scrolling bind) to scroll back should be sufficient.

  • OneCardboardBox@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    As an emacs user, I use M-x man. All my standard keybindings make finding what I need very easy.

    Of course, it’s not so fast if you aren’t already in emacs.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months ago

      I want to mention that one can set the pager for man to be Vim too. Then it would load the document in Vim instead in less for display and navigation. This can be set with option man -P pager or with the environmental variable $MANPAGER or $PAGER . I had set this up in the past with original Vim, but it required some special options for Vim as well. It was nice, but ultimately not needed; so I went back to less. Sometimes less is more.

      Edit: Here is how one can use Neovim as the pager:

      export MANPAGER='nvim +Man!'
      

      I kind of missed it and will set it to this now. Put this line in the Bash configuration .bashrc and every man document is loaded in Neovim now.

    • amanneedsamaid@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 months ago

      +1, displaying in a Emacs buffer solves any issues I could have. If you’re already ‘in’ Emacs, this will be more frictionless than shell scripts around man

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    4 months ago

    Sorry for my previous comment. I was commenting before reading the entire post and was missing the point. On a sidenote, its often enough and helpful to just list the options with program -h or --help . Sometimes the help option has more information or is easier to understand than the man document.

    When I search for options in a man document, I usually try it with putting a dash in front of it as -x or --ignore in example. For really large documents sometimes it can help to add a space before it " -x" or a comma after it "-x, " depending on how its actually written. BTW the man program itself has a builtin help you can show by just pressing h while looking at a document.

  • kbal@fedia.io
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    I am searching with /x

    On most systems these days you can use regular expressions there. If /-x isn’t good enough try /-x[ ,] or whatever.

  • bastion@feddit.nl
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    Man pages this, man pages that. When will the Linux community start really thinking about woman pages?

  • Troy@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    In KDE, there used to be man: as a protocol that you could use from Konqueror or anything else for that matter. Does it still exist?

    I’m at work and cannot check.

    • Jure Repinc@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      4 months ago

      Yup still exists. It is also available in KDE Help Center. And you can quickly jump to a man page you typing “#man” into KRunner.

  • traches@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    I’d also like some guidance on this problem (other than “use emacs”), but searching for “ -x” will have a lower false positive rate

  • jeffreyosborne@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    I like tldr. It doesnt give incredibly in depth explanations, but it does show the basics of using most commands.