Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gleitz/howdoi

Repository files navigation

Sherlock, your neighborhood command-line sloth sleuth

howdoi

Instant coding answers via the command line

⚡ Never open your browser to look for help again ⚡

build status downloads Python versions


Introduction to howdoi

Are you a hack programmer? Do you find yourself constantly Googling for how to do basic programming tasks?

Suppose you want to know how to format a date in bash. Why open your browser and read through blogs (risking major distraction) when you can simply stay in the console and ask howdoi:

$ howdoi format date bash
> DATE=`date +%Y-%m-%d`

howdoi will answer all sorts of queries:

$ howdoi print stack trace python
> import traceback
>
> try:
> 1/0
> except:
> print '>>> traceback <<<'
> traceback.print_exc()
> print '>>> end of traceback <<<'
> traceback.print_exc()
$ howdoi convert mp4 to animated gif
> video=/path/to/video.avi
> outdir=/path/to/output.gif
> mplayer "$video" \
> -ao null \
> -ss "00:01:00" \ # starting point
> -endpos 10 \ # duration in second
> -vo gif89a:fps=13:output=$outdir \
> -vf scale=240:180
$ howdoi create tar archive
> tar -cf backup.tar --exclude "www/subf3" www

image

Installation

pip install howdoi

or

brew install howdoi

Usage

New to howdoi?

howdoi howdoi

RTFM

Commands

usage: howdoi [-h] [-p POS] [-n NUM] [-a] [-l] [-c] [-x] [-C] [-j] [-v] [-e [ENGINE]]
[--save] [--view] [--remove] [--empty] [QUERY ...]
instant coding answers via the command line
positional arguments:
 QUERY the question to answer
optional arguments:
 -h, --help show this help message and exit
 -p POS, --pos POS select answer in specified position (default: 1)
 -n NUM, --num NUM number of answers to return (default: 1)
 -a, --all display the full text of the answer
 -l, --link display only the answer link
 -c, --color enable colorized output
 -x, --explain explain how answer was chosen
 -C, --clear-cache clear the cache
 -j, --json return answers in raw json format
 -v, --version display the current version of howdoi
 -e [ENGINE], --engine [ENGINE]
 search engine for this query (google, bing, duckduckgo)
 --save, --stash stash a howdoi answer
 --view view your stash
 --remove remove an entry in your stash
 --empty empty your stash
environment variable examples:
 HOWDOI_COLORIZE=1
 HOWDOI_DISABLE_CACHE=1
 HOWDOI_DISABLE_SSL=1
 HOWDOI_SEARCH_ENGINE=google
 HOWDOI_URL=serverfault.com

Using the howdoi stashing feature (for more advanced features view the keep documentation).

stashing: howdoi --save QUERY
viewing: howdoi --view
removing: howdoi --remove (will be prompted which answer to delete)
emptying: howdoi --empty (empties entire stash, will be prompted to confirm)

As a shortcut, if you commonly use the same parameters each time and don't want to type them, add something similar to your .bash_profile (or otherwise). This example gives you 5 colored results each time.

alias h='function hdi(){ howdoi $* -c -n 5; }; hdi'

And then to run it from the command line simply type:

$ h format date bash

You can also search other StackExchange properties for answers:

HOWDOI_URL=cooking.stackexchange.com howdoi make pesto

or as an alias:

alias hcook='function hcook(){ HOWDOI_URL=cooking.stackexchange.com howdoi $* ; }; hcook'
hcook make pesto

Other useful aliases:

alias hless='function hdi(){ howdoi $* -c | less --raw-control-chars --quit-if-one-screen --no-init; }; hdi'

Integrations

Contributors

How to contribute

We welcome contributions that make howdoi better and improve the existing functionalities of the project. We have created a separate guide to contributing to howdoi that explains how to get up and running with your first pull request.

Notes

  • Works with Python 3.7 and newer. Unfortunately Python 2.7 support has been discontinued :(
  • Special thanks to Rich Jones (@miserlou) for the idea
  • More thanks to Ben Bronstein for the logo

About

instant coding answers via the command line

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 75

AltStyle によって変換されたページ (->オリジナル) /