Emacs の設定で、割と苦労したので書いておきます。あと、意外と検索しても出てこないんですよね、このワードって。

まず、scss-modeと auto-complete の導入です。とは言え導入は Cask に任せるので、それほど苦労もしないですが。

拡張の導入

Cask 自体の導入は下記サイトで installation があるのでそちらを参照して下さい。

Cask のインストール、セットアップが出来れば、下記ファイルを設定します。

Cask

; repository
(source gnu)
(source melpa)
(source marmalade)
(depends-om "scss-mode")
(depends-om "auto-complete-mode")

$ cask install を実行すればインストールは終わります。

Emacs の設定

私は、.emacs.el から init.el ファイルに読み込みをかけているので、そちらにロードをまとめています。また、PATH は全て通っているものとします。

.emacs.el

(require 'init)

init.el

(require 'scss-mode)
(require 'custom-scss-mode)
(provide 'init)

custom-scss-mode.el

(add-to-list 'auto-mode-alist '("\\.\\(scss\\|css\\)\\'" . scss-mode))
(add-hook 'scss-mode-hook 'auto-complete-mode)
(add-to-list 'auto-mode-alist '("\\.scss$" . scss-mode))
(add-to-list 'ac-modes 'scss-mode)
(add-hook 'scss-mode-hook
          (lambda ()
            (setq css-indent-offset 2)
            (setq scss-compile-at-save nil)
            (setq ac-sources '(ac-source-yasnippet
                               ac-source-css-property
                               ac-source-dictionary
                               ))
            ))
(load-library "flymake-cursor")
(provide 'custom-scss-mode)

これで大体の設定は終りです。

このままだと、致命的な問題点があるんですが…
このままだと、ac-source-css-property を使用できないという問題が発生しています。

scss-mode に ac-source-css-property を通す

auto-complete-mode を scss-mode で使用するには少し作業が必要でした。面倒臭かったので、場当たり的な対応をしましたが、css-mode 用の辞書をそのままコピーして使用しています。
作業的には下記の通りです。

$ cd .emacs.d/.cask/EMACS-VERSION/elpa/auto-complete-#{vesion}/dict/
$ cp css-mode scss-mode

EMACS-VERSION の部分は Cask を使用してパッケージを導入した時の Emacs の version が入ります。要するに、現在設定されている Emacs の version です。

#{version}

は Cask が導入しているパッケージの使用バージョンと思われます。

auto-complete-mode のソースコードをちらっと読んだ限りでは、実行している auto-complete-mode の名前と同じ file 名を持った dict を読み込んでいるようで、てっとり早く作業を再開する為にとりあえずでやっつけました。

どうかんがえてもダーティな手段なので、後でスマートな方法を考えます。