- string-edit 20160410.2356(in MELPA)
- Avoid escape nightmares by editing string in separate buffer
概要
string-edit.el は、ソースコード中の文字列リテラルを
別バッファで編集するパッケージです。
文字列リテラルで M-x string-edit-at-point を
実行すれば、その文字列が別バッファにてポップアップされます。
編集終了時にC-c C-cを押せば元のコードに反映され、
C-c C-kで取り止めます。
本家動画 を見れがわかるように、JavaScript(js2-mode)は
特別な処理がなされていて、複数行の文字列に対応してくれます。
それ以外の言語の場合、複数行の文字列リテラルは\nで1行になってしまいます。
とはいえ、 se/find-original がこのようになっているので、
言語に特化した se/string-at-point を定義し、
それを呼ぶようにse/find-originalを再定義すれば多言語に対応できるでしょう。
(defun se/find-original () (if (derived-mode-p 'js2-mode 'js-mode) (se/js-strings-at-point) (se/string-at-point)))
Fig1: 文字列リテラルでM-x string-at-pointするとポップアップ
Fig2: 編集
Fig3: C-c C-cで反映される(js以外では1行化される…)
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてstring-editを使う方は
以下のコマンドを実行します。
M-x package-install string-edit
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name string-edit
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。