2008/06/11
選択中の文字列を isearch する
選択中の文字列を isearch にそのまま渡したいことがよくあるので(C-w で検索文字列をのばすのは面倒くさい)、キーバインディングからそれっぽい機能を探してみたのですが、どうやらないようなので、以下のように暫定的に対応してみました。
~/.emacs:
(defadvice isearch-mode (around isearch-mode-default-string (forward &optional regexp op-fun recursive-edit word-p) activate) (if (and transient-mark-mode mark-active) (progn (isearch-update-ring (buffer-substring-no-properties (mark) (point))) (deactivate-mark) ad-do-it (if (not forward) (isearch-repeat-backward) (goto-char (mark)) (isearch-repeat-forward))) ad-do-it))
これで、``transient-mark-mode`` を有効にした状態で検索したい文字列を選択し、 C-s や C-r で isearch を実行すると、検索文字列の入力をまたずにそのまま検索しにいってくれます。なかなか便利です。
拙作の thing-opt.el [1] を使うと、リージョンの選択が楽になり、より簡単に isearch することができます。
[1] | http://www.emacswiki.org/cgi-bin/wiki/ThingAtPointOptional |
- Category(s)
- emacs
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/matsuyama/isearch-selected-text/tbping