16
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Emacs 使用中に素早く検索する

Posted at

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 を検索できます.

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?