css-modeの中括弧
css-mode(cssm-version "0.11")を普段使っているのですが、中括弧挿入時の挙動が気に入らない。
中括弧挿入時に改行設定してるのですが(setq cssm-newline-before-closing-bracket t)、半角スペースが入り込むんですよね。
( _ はカーソル位置です。)
hoge { _ }
こうなってほしい。
hoge {_ }
なので、css-mode.elを少し変更しました。
(define-skeleton cssm-insert-curlies "Inserts a pair of matching curly parenthesises." nil ;; "{ " _ (if cssm-newline-before-closing-bracket "\n" " ") ; cssm-newline-before-closing-bracket の挙動を変更 "{" (if cssm-newline-before-closing-bracket "" " ") _ (if cssm-newline-before-closing-bracket "\n" " ") "}")
/* cssm-newline-before-closing-bracket t */ hoge {_ } /* cssm-newline-before-closing-bracket nil */ hoge { _ }
となります。うれしい。
ついでに。init.elの設定はこんな感じです。
(setq indent-tabs-mode nil) (setq-default indent-tabs-mode nil) (setq default-tab-width 4) (setq tab-width 4) (setq-default tab-width 4) ... ;; css-mode (autoload 'css-mode "css-mode" nil t) (setq auto-mode-alist (cons '("\\.css\\'" . css-mode) auto-mode-alist)) (add-hook 'css-mode-hook '(lambda () (setq cssm-indent-level 4) (setq cssm-indent-function #'cssm-c-style-indenter) (setq cssm-newline-before-closing-bracket t) ))
参考
css-modeのカーソル位置修正
http://d.hatena.ne.jp/hara_masa/20110306/1299374607