@kyanny's blog

My life. Opinions are my own.

rhtml-mode をいれた

emacs-rails 使ってたけど ERB なテンプレートで <% とかがインデントされないのがうざいなーと思ってて一年以上放置してたんだけど気合を入れていじらないと厳しいテンプレートを触ったので重い腰をあげて rhtml-mode を導入した。これは Rinari の一部って書いてあるけど実際には Rinari をロードしなくても単体で動く。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Rinari

; ;; Interactively Do Things (highly recommended, but not strictly required)
; (require 'ido)
; (ido-mode t)
; 
; ;; Rinari
; (add-to-list 'load-path "~/.emacs.d/rinari")
; (require 'rinari)

;;; rhtml-mode
(add-to-list 'load-path "~/.emacs.d/rhtml")
(require 'rhtml-mode)
(add-to-list 'auto-mode-alist '("\\.rhtml$" . rhtml-mode))
(add-hook 'rhtml-mode-hook
          (lambda () (rinari-launch)))

;; Rinari
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

公式サイト?の例だと .rhtml ひらいたときに rhtml-mode にならないので追加した。インデントうまくいくし ERB タグ部分がハイライトされるので幸せ(でもハイライトの色がまずくて文字は読みづらい)

あと emacs-rails 由来の ruby-newline-and-indent というのを C-m に割り当ててたのでそこだけ盗んできた。 https://github.com/kyanny/emacs-config/commit/cf12957a2b9e4f017d62ff58ef5a4af261d435f5

晴れて emacs-rails とはオサラバできたけど、 Rinari は結局使ってない。 C-x C-f が奪われてることに気づかずかなり焦った。 emacs-rails も IDE 的な要素は一切使っていなかった(使いこなせていなかった)ので、 Rinari のそういう部分も慣れるまでに相当の努力を要する気がして、とりあえず今はやめておいた。キーバインドを覚えるのとかもうだるいし。 anything-rinari とかないのかなと思ったけどなかった。いい加減にちゃんと anything-project を使おう・・。

追記

C-x C-f を横取りしたりする犯人は ido-mode だった。 Rinari ごめんよ。でも C-c ; f c とかがなんで嬉しいのかやっぱりおれにはわからない(バッファ開いてれば anything でいいではないか)ので Rinari はコード読んでお勉強し終わったら消しちゃおうと思う。 emacs-rails は細々と便利機能が入ってて、でも大多数の不要な機能と入り交じっているので良くないデザインだったのだなと思った。部分的に細々とぱくってこよう。