- selected 20170222.34(in MELPA)
- Keymap for when region is active
概要
selected.el
はregionが設定されているときの
キーマップを設定できるようにします。
たとえば、本設定を施すとregionを指定した後に
- uを押すと大文字になり
- dを押すと小文字になり
- wを押すと単語数を数え
- mを押すとキーボードマクロを各行に対して実行
したりします。
regionを設定してから
C-x C-uではなくてuで操作できるのですから、
かなり操作性は上がります。
org-modeではregionを指定して
t で表を作成してくれます。
なぜそのようなことができるかというと、
regionが存在するとき限定で
特別なキーマップにアクセスしているからです。
mykie.el でもその機能は含まれていますが、
mykieは複数の機能を持つ新しいコマンドを
定義するアプローチです。
新しいコマンドを定義するため、
元のコマンドをremapするパッケージに対しては
余計な設定を書く必要性が生じることがあります。
selectedは純粋にコマンドを
割り当てるだけなので
シンプルかつ純粋です。
regionが与えられたときに
常に作用するキーマップは
selected-keymap
です。
メジャーモード固有のキーマップは
selected-MODENAME-mode-map
です。
たとえば、org-modeで
regionが与えられたときには
selected-org-mode-map
が使われます。
メジャーモード固有の
キーマップを設定するには、
予め make-sparse-keymap
で
キーマップを作成してから
キーを割り当ててください。
まれにselectedを
無効にしたいときがあります。
そのときは =
M-x selected-off= (本設定ではq)
を使います。
regionに対して独自のコマンドを
割り当てられるこのパッケージは、
すべてのEmacsユーザにおすすめできます。
ソースコードは短いので
メカニズムも理解しやすいです。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてselectedを使う方は
以下のコマンドを実行します。
M-x package-install selected
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name selected
設定 170225091939.selected.el(以下のコードと同一)
(require 'selected) ;;; 他のパッケージよりもselectedの設定を優先させる (setq selected-minor-mode-override t) (selected-global-mode 1) (define-key selected-keymap (kbd "q") #'selected-off) (define-key selected-keymap (kbd "u") #'upcase-region) (define-key selected-keymap (kbd "d") #'downcase-region) (define-key selected-keymap (kbd "w") #'count-words-region) (define-key selected-keymap (kbd "m") #'apply-macro-to-region-lines) (setq selected-org-mode-map (make-sparse-keymap)) (define-key selected-org-mode-map (kbd "t") #'org-table-convert-region)
実行方法
$ wget http://rubikitch.com/f/170225091939.selected.el $ emacs -Q -f package-initialize -l 170225091939.selected.el
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。