howdoi 20150203.1643(in MELPA)
Instant coding answers via Emacs.

概要

プログラミングでわからないことがあったら、どうしていますか?

「どう書くの?」
「どう使うの?」
はプログラマならば常につきまとう疑問です。

普通はマニュアルを参照したり、ググったりすることでしょう。

実は http://stackoverflow.com/ というプログラマのQ&Aサイトがあって、
<2015-02-12 Thu>時点で8837171ものエントリが登録されています!!

まさに世界中のプログラマの叡智の宝庫というわけです。

この膨大なデータベースにEmacsからアクセスするのが、
この howdoi.el です。

由来は「How Do I **? (どうやるの?)」です。

これはPythonで書かれた同名のツール のelisp版です。

使い方は簡単で、 M-x howdoi-query でクエリを入力します。

*How do I*バッファに結果が表示され、
「=======」が質問と回答の区切りで、
「-------」が回答の区切りです。

*How do I*バッファでは、以下の操作が使えます。

n
次の質問
p
前の質問
b
ブラウザで開く
u
新しいクエリで調べる(howdoi-query再実行)
<
バッファ先頭
>
バッファ末尾
q
ウィンドウを閉じる

本設定ではURLを表示するようにしていますが、
pで戻ったときには反映されていないバグがあります…

20150212043652.png
Fig1: M-x howdoi-query format date bashの結果

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてhowdoiを使う方は
以下のコマンドを実行します。

M-x package-install howdoi

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name howdoi

設定 150212040937.howdoi.el(以下のコードと同一)

(require 'howdoi)
;;; 質問も表示する(なぜデフォルトで無効だし?)
(setq howdoi-display-question t)
;;; *How do I*表示後にURLを表示する
(defun howdoi-show-url (&rest ignore)
  (interactive)
  (message "%s" howdoi-current-stackoverflow-url))
(advice-add 'howdoi-pop-answer-to-buffer-callback :after 'howdoi-show-url)
;;; cで現在のURLを表示する
(define-key howdoi-mode-map (kbd "c") 'howdoi-show-url)

実行方法

$ wget http://rubikitch.com/f/150212040937.howdoi.el
$ emacs -Q -f package-initialize -l 150212040937.howdoi.el


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。