- expand-region 20170514.1309(in MELPA)
- Increase selected region by semantic units.
概要
expand-region.el
は
連続的に実行するたびに
regionを広げていくパッケージです。
標準の C-M-SPC
( mark-sexp
) や
M-@
( mark-word
)も
連続実行でregionを広げていきますが、
同じ単位でしか広がりません。
M-x er/expand-region
はカーソル位置に応じて
- 単語 (
er/mark-word
) - シンボル (
er/mark-symbol
) - クオートつきシンボル(Lisp) (
er/mark-symbol-with-prefix
) - アクセサ(ドット付きメソッド呼び出し) (
er/mark-next-accessor
) - メソッド・関数呼び出し (
er/mark-method-call
) - クオートの中身 (
er/inside-quotes
) - クオートの外側 (
er/outside-quotes
) - 括弧の中身 (
er/inside-pairs
) - 括弧の外側 (
er/outside-pairs
) - URL (
er/mark-url
) - Eメール (
er/mark-email
) - 関数 (
er/mark-defun
)
と自動判別でregionを広げていきます。
Emacs Rocks! Episode 09: expand-region
にて動画があります。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてexpand-regionを使う方は
以下のコマンドを実行します。
M-x package-install expand-region
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name expand-region
対応メジャーモード
基本的にEmacsの汎用的な機能を使っていますが、
メジャーモード個別にも対応しています。
nxml-mode
sml-mode
clojure-mode
nrepl-mode
text-mode
python-mode
cperl-mode
org-mode
subword-mode
erlang-mode
html-mode
c-mode
c++-mode
objc-mode
java-mode
idl-mode
pike-mode
awk-mode
js2-mode
text-mode
css-mode
html-mode
rhtml-mode
nxhtml-mode
web-mode
octave-mode
python-mode
ruby-mode
feature-modepython-mode
enh-ruby-mode
latex-mode
js-mode
js2-mode
js3-mode
設定 170116064130.expand-region.el(以下のコードと同一)
C-M-SPC の置き換えとして設定しました。
(require 'expand-region)
;; 真っ先に入れておかないとすぐに括弧に対応してくれない…
(push 'er/mark-outside-pairs er/try-expand-list)
(global-set-key (kbd "C-M-SPC") 'er/expand-region)
実行方法
$ wget http://rubikitch.com/f/170116064130.expand-region.el $ emacs -Q -f package-initialize -l 170116064130.expand-region.el
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。