- edit-at-point 20150716.624(in MELPA)
- edit(copy,cut..) current things(word,symbol..) under cursor
概要
edit-at-point.el はカーソル位置のthingを編集するコマンド群です。
thingはword/symbol/str/line/paren/defun、
actionはcut/copy/delete/paste/dupで、
総当たり的にコマンドが定義されています。
たとえば単語をカットするコマンドはM-x edit-at-point-word-cutです。
さすがに全コマンドをキーに割り当てるのは現実的ではないので、
C-:でthingとactionを選択できるようにしておきました。
それでも新しいキーバインドを消費することを考えたら
M-wでまかなう easy-kill.el(レビュー) の方が使いやすいでしょう。
作者はサンプルの設定でC-S-英字にすべてのコマンドを割り当てていますが、
記憶に超絶負荷がかかるので本当に使いこなせているかは正直怪しいです。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてedit-at-pointを使う方は
以下のコマンドを実行します。
M-x package-install edit-at-point
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name edit-at-point
設定 150916051458.edit-at-point.el(以下のコードと同一)
(require 'edit-at-point) (defvar edit-at-point-thing-alist '(("w" . "word") ("s" . "symbol") ("S" . "str") ("l" . "line") ("p" . "paren") ("d" . "defun"))) (defvar edit-at-point-action-alist '(("C-w" . "cut") ("M-w" . "copy") ("C-d" . "delete") ("C-y" . "paste") ("d" . "dup"))) (defun edit-at-point-ensure-input (func) (let (ans) (while (progn (setq ans (funcall func)) (not ans))) ans)) (defun edit-at-point-prompt (header alist) (edit-at-point-ensure-input (lambda () (assoc-default (format-kbd-macro (vector (read-event (format "%s :: %s" header (mapconcat (lambda (x) (format "%s:%s" (car x) (cdr x))) alist " "))))) alist)))) (defun edit-at-point-dispatch () (interactive) (let* ((thing (edit-at-point-prompt "Edit at point" edit-at-point-thing-alist)) (action (edit-at-point-prompt "Action" edit-at-point-action-alist))) (funcall (intern (format "edit-at-point-%s-%s" thing action))))) (global-set-key (kbd "C-:") 'edit-at-point-dispatch)
実行方法
$ wget http://rubikitch.com/f/150916051458.edit-at-point.el $ emacs -Q -f package-initialize -l 150916051458.edit-at-point.el
本サイト内の関連パッケージ
- highlight-symbol - automatic and manual symbol highlighting
- omni-kill - Kill all the things
- easy-kill - kill & mark things easily
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。