Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gleitz/howdoi
instant coding answers via the command line
https://github.com/gleitz/howdoi
Last synced: 10 days ago
JSON representation
instant coding answers via the command line
- Host: GitHub
- URL: https://github.com/gleitz/howdoi
- Owner: gleitz
- License: mit
- Created: 2012-11-22T08:49:24.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-01-06T04:57:09.000Z (10 months ago)
- Last Synced: 2024-05-02T03:19:34.349Z (6 months ago)
- Language: Python
- Homepage: http://blog.gleitzman.com/post/43330157197/howdoi-instant-coding-answers-via-the-command-line
- Size: 26.5 MB
- Stars: 10,443
- Watchers: 220
- Forks: 867
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.txt
- Contributing: docs/contributing.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-python-applications - Repo
- my-awesome-list - howdoi
- awesome-cli-apps - howdoi - Instant coding answers. (Command Line Learning / Internet Speedtest)
- my-awesome-github-stars - gleitz/howdoi - instant coding answers via the command line (Python)
- awesome-ccamel - gleitz/howdoi - instant coding answers via the command line (Python)
- awesome-starred-test - gleitz/howdoi - instant coding answers via the command line (Python)
- my-awesome-starred - gleitz/howdoi - instant coding answers via the command line (Python)
- awesome-python-resources - GitHub - 8% open · ⏱️ 04.07.2022): (命令行工具)
- fucking-awesome-cli-apps - howdoi - Instant coding answers. (Command Line Learning / Internet Speedtest)
- awesome-python-applications - Repo
- awesome-python-again -
- project-awesome - gleitz/howdoi - instant coding answers via the command line (Python)
- StarryDivineSky - gleitz/howdoi
- jimsghstars - gleitz/howdoi - instant coding answers via the command line (Python)
README
howdoi
Instant coding answers via the command line
⚡ Never open your browser to look for help again ⚡
------------------------------------------------------------------------
## 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](http://imgs.xkcd.com/comics/tar.png)](https://xkcd.com/1168/)
## Installation
pip install howdoi
or
brew install howdoi
## Usage
### New to howdoi?
howdoi howdoi
### RTFM
- [Introduction and
installation](http://gleitz.github.io/howdoi/introduction/)
- [Usage](http://gleitz.github.io/howdoi/usage/)
- [Contributing to
howdoi](http://gleitz.github.io/howdoi/contributing_to_howdoi/)
- [Advanced
usage](http://gleitz.github.io/howdoi/howdoi_advanced_usage/)
- [Troubleshooting](http://gleitz.github.io/howdoi/troubleshooting/)### 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 answeroptional 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 stashenvironment variable examples:
HOWDOI_COLORIZE=1
HOWDOI_DISABLE_CACHE=1
HOWDOI_DISABLE_SSL=1
HOWDOI_SEARCH_ENGINE=google
HOWDOI_URL=serverfault.comUsing the howdoi stashing feature (for more advanced features view the
[keep documentation](https://github.com/OrkoHunter/keep)).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](https://stackexchange.com/sites#traffic) 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 pestoOther useful aliases:
alias hless='function hdi(){ howdoi $* -c | less --raw-control-chars --quit-if-one-screen --no-init; }; hdi'
## Integrations
- Slack integration available through
[slack-howdoi](https://github.com/ellisonleao/slack-howdoi)
- Telegram integration available through
[howdoi-telegram](https://github.com/aahnik/howdoi-telegram)
- Discord integration available through
[discord-howdoi](https://github.com/MLH-Fellowship/0.5.1-howDoIDiscord)
- Emacs integration available through
[emacs-howdoi](https://blog.gleitzman.com/post/700738401851277312/howdoi-use-howdoi-in-emacs)
- VSCode integration available on the
[marketplace](https://marketplace.visualstudio.com/items?itemName=howdoi-org.howdoi)
- Alfred integration available through
[alfred-howdoi](https://github.com/gleitz/alfred-howdoi)## Contributors
- Benjamin Gleitzman ([\@gleitz](http://twitter.com/gleitz))
- Yanlam Ko ([\@YKo20010](https://github.com/YKo20010))
- Diana Arreola ([\@diarreola](https://github.com/diarreola))
- Eyitayo Ogunbiyi ([\@tayoogunbiyi](https://github.com/tayoogunbiyi))
- Chris Nguyen ([\@chrisngyn](https://github.com/chrisngyn))
- Shageldi Ovezov ([\@ovezovs](https://github.com/chrisngyn))
- Mwiza Simbeye
([\@mwizasimbeye11](https://github.com/mwizasimbeye11))
- Shantanu Verma ([\@SaurusXI](https://github.com/SaurusXI))
- Sheza Munir ([\@ShezaMunir](https://github.com/ShezaMunir))
- Jyoti Bisht ([\@joeyouss](https://github.com/joeyouss))
- And [more!](https://github.com/gleitz/howdoi/graphs/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](http://gleitz.github.io/howdoi/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](https://github.com/miserlou)) for the idea
- More thanks to [Ben Bronstein](https://benbronstein.com/) for the
logo