rspec書いてる時にEmacsから簡単に呼び出せたら便利だと思ってsmart-compileの設定をこんな風に書き換えたんだけど、

でちゃんとCompile command: rspec foo_spec.rbは呼び出せるものの実行すると

な感じでエラーになってしまう。

どうやら rbenv の環境がEmacs側で認識されてないので rbenv で入れた gem のコマンドも使えないのが原因らしい。

解決策

rbenv.el をインストールすれば解決しました。

でインストールしておいて

しておけばOKです。


Railsのプロジェクトで coffee script を使うけどもコンパイルは全て Asset pipelineがやってくれるので、たまに変換結果の js をちょっと見てみたい時に困った事になります。

なのでEmacsの smart compile の機能を使ってすぐに 出力結果を得られるようにしてみました。

解決策

coffee -pで標準出力に変換結果を出力してくれるので

としておけばOKです。

参考

Convert coffee to javascript and show the result to standard output in Emacs – Stack Overflow


何故かMacのOSを最新の Mavericks(10.9.1)に変えたらEmacsの C-x C-f で表示されるデフォルトのパスが ルートの / に変わってしまったのでその対策。

対策法

下の対策はうまく動いてませんでした。homebrewの最新版だと対応されてるらしいので homebrew install --cocoa emacsで homebrewから入れたら解決します。

Emacsの設定に default-directory を追加したらOK

(setq default-directory "~/")

参考

settings – emacs "Find File:" default path – Stack Overflow


開いてるファイルをそのまま実行できるsmart-compileでGemfileを開いてたらbundle installを実行したかったのでやり方を調べてみました。

設定方法

どうやらsmart compile は自動的にコマンドの実行ディレクトリをファイルがある場所に移動してくれるようなので単純に Gemfileというファイル名とbundle installのコマンドを他のファイルと同じように紐付ければOKのようです。

もちろん ruby や php を使ってなかったら該当行は必要ありません。

使い方

これで Gemfile を開いて C-c C-x するとこんな風に bundle install が実行されます。