牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Emacsのcss-modeが複数ある件

デフォのやつだとプロパティ打ち間違えても色付けされちゃうので、やっぱり2のLars版使うことにした(´・ω・`)

css-modeいろいろ

  1. Emacs22のcss-mode.el。たぶんデフォではいってるヤツ(あまり使われてないっぽい?)
  2. A CSS editing mode for Emacs Lars Marius Garsholさん作のcss-mode.el(ググると出てくるcss-modeの設定とかはたぶんコレ)
  3. こんなのもある EmacsWiki: css-mode.el
  4. 他にも?

デフォルトで入ってたcss-mode使用

2番目のを使ってたけど、デフォのcss-mode.elを使うことにした。

長所
  • デフォは利点だよねー
  • 構造をインデントで表現(できるっぽい?)
  • それなりに色分けされる
  • 機能が少ないので惑わされない
短所
  • 補完とかナイっぽい(´・ω・`)
  • 便利機能が特にナイっぽい(||゚Д゚)

少々カスタマイズしてみた

  • インデントはスペース2
  • 『;』で ;+RET なるようにしてみた
  • それから『{』を入力すると(例:h1 の後とか)
h1 {
  /*カッコ閉じてカーソルここに来る*/
}
  • あと、css-mode.el に書いてあった プロパティ名とか abbrev_defs に登録して補完できるようにしたけど略。
elsp
(defun semicolon-ret ()
  (interactive)
  (insert ";")
  (newline-and-indent)
  )
(defun brace-ret-brace ()
  (interactive)
  (insert "{") (newline-and-indent)
  (newline-and-indent)
  (insert "}") (indent-for-tab-command)
  (newline-and-indent) (newline-and-indent)
  (previous-line) (previous-line) (previous-line)
  (indent-for-tab-command)
  )
(add-hook 'css-mode-hook
              (lambda ()
                (setq css-indent-offset 2)
                (define-key css-mode-map ";" 'semicolon-ret)
                (define-key css-mode-map "{" 'brace-ret-brace)
                ))

こんな感じ?