howdoi README

The project's README from github.com/gleitz/howdoi. As one markdown file: README.md.

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

howdoi (gleitz/howdoi)

Searching Database…

10.8K ·GitHub
这是什么?howdoi 是一个命令行工具,它会通过搜索 StackOverflow(或其他 StackExchange 站点)来回答编程问题,只打印排名最靠前的答案中的代码片段,因此你完全不必打开浏览器。
这是我可以导入使用的库,还是独立的命令行工具?它是一个独立的命令行工具,而不是用来导入到你自己代码中的库。
我该如何安装和使用它?用 'pip install howdoi' 或 'brew install howdoi' 安装,然后直接运行 'howdoi' 加上你的问题即可,例如 'howdoi format date bash'。
除了 pip 或 Homebrew,还需要别的东西吗?只需要 Python 3.7 或更高版本;Python 2.7 已不再受支持。
它是否总是只给出精确的代码片段,没有额外的解释?默认情况下,你只会得到排名最靠前的答案中的代码。但你可以用 -a 查看完整的答案文本,用 -n 获取多个结果,用 -p 选择指定位置的答案,用 -x 查看该答案被选中的原因。
我能把答案保存下来以后再看,而不用重新搜索吗?可以。howdoi 有收藏功能:用 '--save QUERY' 收藏一个答案,用 '--view' 查看你的收藏,用 '--remove' 删除一条记录,用 '--empty' 清空整个收藏。
我能搜索 StackOverflow 以外的网站吗?可以。把 HOWDOIURL 环境变量设置为其他 StackExchange 域名,例如 'cooking.stackexchange.com',就能改为搜索该站点。
它支持哪些搜索引擎?你可以用 -e 参数或 HOWDOISEARCHENGINE 变量选择搜索引擎,可选 Google、Bing 或 DuckDuckGo。
有与聊天应用或编辑器的集成吗?有。社区提供了 Slack、Telegram、Discord、Emacs、VSCode 和 Alfred 的集成。
Creator
gleitz
Size
27.1 MB
Stars
10.8K
Updated
CommitOct 22
Age
13y
Commits · 90 Days