- smart-newline 20131207.1940(in MELPA)
- Provide smart newline for one keybind.
概要
smart-newline.el は空気読んでくれる「改行」です。
Emacsには改行の入力方法がいろいろありますが、
これを使えばRETだけで以下のコマンドを兼ね備えることになります。
- C-o (open-line)
- C-j (newline-and-indent)
- C-m (newline)
- reindent-then-newline-and-indent
行と行の間に挿入したいなと思ったら、
C-oではなくてRETを数回押せばいいだけです。
おかげでC-oやC-jのキーバインドが空き、
よく使う他のコマンドが割り当てられます。
言葉で説明するとややこしいので感覚で覚えてください。
とにかくいろんなタイミングでRETを押してみましょう。
僕もありがたく使わせていただいています。
本設定では、C-uを押して通常の改行の挙動を追加しています。
作者による詳しい解説はこちら。
http://ainame.hateblo.jp/entry/2013/12/08/162032
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてsmart-newlineを使う方は
以下のコマンドを実行します。
M-x package-install smart-newline
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name smart-newline
設定 141231144300.smart-newline.el(以下のコードと同一)
(require 'smart-newline) (global-set-key (kbd "C-m") 'smart-newline) (add-hook 'ruby-mode-hook 'smart-newline-mode) (add-hook 'emacs-lisp-mode-hook 'smart-newline-mode) (add-hook 'org-mode-hook 'smart-newline-mode) (defadvice smart-newline (around C-u activate) "C-uを押したら元のC-mの挙動をするようにした。 org-modeなどで活用。" (if (not current-prefix-arg) ad-do-it (let (current-prefix-arg) (let (smart-newline-mode) (call-interactively (key-binding (kbd "C-m")))))))
実行方法
$ wget http://rubikitch.com/f/141231144300.smart-newline.el $ emacs -Q -f package-initialize -l 141231144300.smart-newline.el
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。