Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mihir-kumar-thakur/ae06ea036113c2f8957a8575b7ff8cc4 to your computer and use it in GitHub Desktop.
Save mihir-kumar-thakur/ae06ea036113c2f8957a8575b7ff8cc4 to your computer and use it in GitHub Desktop.

Revisions

  1. mihir-kumar-thakur created this gist Oct 10, 2019.
    23 changes: 23 additions & 0 deletions the-single-most-useful-thing-in-bash.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    The single most useful thing in bash
    SHELL CLI UNIX BASH
    Create ~/.inputrc and fill it with this:

    "\e[A": history-search-backward
    "\e[B": history-search-forward
    This allows you to search through your history using the up and down arrows … i.e. type "cd" and press the up arrow and you'll search through everything in your history that starts with "cd".

    It's a little bit like ctrl-r (mentioned in many of the comments below), but anchored to the start of the line, and the arrow keys allow you to scroll back and forth between matches.

    I use it when I'm looking to (for instance) call up the last ping I did (hit p, up arrow, return), whereas I use ctrl-r more like search, when I'm trying to find a command based on an argument or option that I used.

    Both useful.

    Other options that I find useful to add:

    set show-all-if-ambiguous on
    This alters the default behavior of the completion functions. If set to ‘on’, words which have more than one possible completion cause the matches to be listed immediately instead of ringing the bell. The default value is ‘off’.

    set completion-ignore-case on
    If set to ‘on’, Readline performs filename matching and completion in a case-insensitive fashion. The default value is ‘off’.

    (as miah points out below, this is all actually Readline functionality. The title should be "Readline is the single most useful thing in everything" ;)