Emacs で開いているファイル中の単語を検索したいことはよくあります.そんなときに便利なのが search-web.el です.これは,カーソル位置の単語,もしくはリージョン内の文字列を,任意の検索エンジンで検索を行うものです.使い方は以下を参考にしてください.
参考: http://d.hatena.ne.jp/tomoya/20090703/1246610432
さて,このプログラムではリージョン内の文字列とカーソル位置の単語で別の検索コマンドが割りあてられていますが,色付きリージョンの機能があるので1つにまとめましょう.つまり,色付きリージョンがあればリージョン内の文字列を,なければカーソル位置の単語を検索エンジンで検索します.それを行うのが以下の関数です.
(defun search-web-dwim (&optional arg-engine)
"transient-mark-mode がオンの時はリージョンを,
オフの時はカーソル位置の単語を検索する."
(interactive)
(cond
((transient-region-active-p)
(search-web-region arg-engine))
(t
(search-web-at-point arg-engine))))
以下はこの関数を利用している私の .emacs です.
(require 'search-web)
(define-prefix-command 'search-web-map)
(global-set-key (kbd "M-i") 'search-web-map)
(global-set-key (kbd "M-i g") (lambda () (interactive) (search-web-dwim "google")))
(global-set-key (kbd "M-i e") (lambda () (interactive) (search-web-dwim "eijiro")))
これで,M-i g でグーグル検索,M-i e で英辞郎 on the WEB を検索できます.