htmlとcssとjavascript編集用のメジャーモード
次の3つを導入.
- html-helper-mode.el
- css-mode.el
- javascript.el
それぞれかなり便利.
javscript.elは, higeponさんのブログで紹介されてたのを思い出して探した.
今は配布元が消えちゃってる.
higeponさんのそのエントリにトラバしてる方(ZIGOROuさん)のページに元ページのWeb archiveへのリンクがあって, そこから頂いた.
感謝感謝.
html-helper-mode
yahtmlから乗り換え. 理由は色付けが綺麗だから.
html-helper-modeは, 3.0.4jollyってのを使ってる.
なんか色々なバージョンが出回ってるみたいで, 探すとき戸惑う.
このバージョンを使ってるのは, jspファイルの編集にも使えるから.
キーバインドがyahtmlと全然違う(当たり前)から, 最初は使いづらく感じた.
(と言ってもまだそんなに使ってるわけじゃないけど.)
なんかこんな感じのルールになってるっぽい.
C-c ----通常のキー : エンターでbr, =でhr, スペースで , <で<などを挿入 |--C-z 通常のキー : html-helper-modeの関数を実行 |--C-s 通常のキー : phpの<? ?>とか, jpsの<% %>や, Javascriptの<srcipt>...を挿入 |--C-f 通常のキー : フォーム入力に関するタグを挿入(inputとかformとか) |--C-h 通常のキー : <meta ...>とかヘッダに関するタグを挿入 |--C-t 通常のキー : tableに関するタグを挿入(thとかcaptionとか) |--TAB 通常のキー : これに続くのは, aだけみたい. <img src="" >を挿入 |--C-p 通常のキー : 文字の配置とか形(斜体にするとか)に関するタグを挿入 |--M-h 通常のキー : 後に続くのは, 1から6の数字. h1, h2, ...を挿入 |--M-l 通常のキー : preとかstrongとかを挿入 |--C-l 通常のキー : リストに関するものを挿入(ulとかol) ---C-a 通常のキー : アンカーに関するもの
こう考えるとそんなに分かりづらくない.
まあ, 慣れるまでキーバインドをいちいち確認する必要があるけど.
css-mode
そんなに特別なキーは提供してないっぽい.
まずは, brackets.elみたいなのがある([, (, ", { を記入したら, 対応も同時に挿入してくれるってやつ).
他には, C-cC-cでコメントの挿入, C-cC-uでurl()を挿入してくれる.
でも, これらよりも, ESC-TABが一番良いと思う.
ESC-TAB TABってやると, 挿入できるプロパティの一覧がずらっと出る(background-colorとかmarginとか).
入力にはタブ補完も効くし(margまで打ってタブをやるとmarginって補完), 途中のハイフンの入力は, スペースでできる.
問題は, ESC-TABって打ちづらいこと.
まあ, 変えりゃいいんだけどね.
javascript.el
使ってみた感想.
色付けとインデントがすごく綺麗.
それだけ.
というか, それしかない.
まあ, いつものように自動で対応する括弧を挿入するようにした.
;; javascript-mode (add-to-list 'auto-mode-alist (cons "\\.\\(js\\|as\\|json\\|jsn\\)\\'" 'javascript-mode)) (autoload 'javascript-mode "javascript" nil t) (setq js-indent-level 4) ;; blackets.elで対応する括弧を自動的に挿入するようにする. (add-hook 'javascript-mode-hook '(lambda() (progn ;; camelCase-modeを適用 (camelCase-mode t) ;; { で{}を書く (define-key javascript-mode-map "{" 'insert-braces) ;; ( で()を書く (define-key javascript-mode-map "(" 'insert-parens) ;; " で""を書く (define-key javascript-mode-map "\'" 'insert-single-quotation) ;; " で""を書く (define-key javascript-mode-map "\"" 'insert-double-quotation) ;; [ で[]を書く (define-key javascript-mode-map "[" 'insert-brackets) ;; Ctrl+c }でregionを{}で囲む (define-key javascript-mode-map "\C-c}" 'insert-braces-region) ;; Ctrl+c )でregionを()で囲む (define-key javascript-mode-map "\C-c)" 'insert-parens-region) ;; Ctrl+c ]でregionを[]で囲む (define-key javascript-mode-map "\C-c]" 'insert-brackets-region) ;; Ctrl+c "でregionを""で囲む (define-key javascript-mode-map "\C-c\"" 'insert-double-quotation-region) )))
うーん, 最初だけM-;でのコメント挿入が効いてない気がする.