全国100万人のEmacs・ニュービーのみなさまこんばんは。
みなみなさまもauto-complete
を使って快適な補完ライフを享受されてることと存じます。
しかしRailsなんかでごりごりごりっとコードを書いてますと、Book
だったりbook
だったりbooks
だったりと、大文字小文字が入り乱れるコードになります。そんな環境では、小文字で出して欲しかったのに大文字が補完されたりして、たいへん不快な目に遭ひます。
この記事を参照、ではあるのですが、リンク先当時と違っていまのデフォルトは'smart
です。
つまり、デフォルト値の定義はこんなふうになってます。
auto-complete.el
(defcustom ac-ignore-case 'smart
"Non-nil means auto-complete ignores case.
If this value is `smart', auto-complete ignores case only when
a prefix doen't contain any upper case letters."
:type '(choice (const :tag "Yes" t)
(const :tag "Smart" smart)
(const :tag "No" nil))
:group 'auto-complete)
てなわけで、全体でこの挙動をnil
にしてやりたければ、.emacs
にこんなふうに書いてやればおkですね。
.emacs.d/init.el
(custom-set-valiables
'(ac-ignore-case nil))
「Rubyでは無効にしたい… でも全体では'smart
のままがいい…」なんてわがままさんもいらっしゃいますよね。僕のことなんですけれども。
そんな方にはこちら!
.emacs.d/conf/init-ruby.el
(add-hook 'ruby-mode-hook
(lambda ()
(make-local-variable 'ac-ignore-case)
(setq ac-ignore-case nil)))
いえい。これでruby-mode
なバッファでだけac-ignore-case
がnil
になってくれます。めでたいですね。