吉川です。
自分の環境では、"div>ul"のような文字列でZen Codingの変換が
失敗していたので、ちょっと調べてみました。
結論としては、「HTML5」のPackageが原因だったようです。
削除したらうまく動きました。Zen Codingを入れていれば
HTML5のスニペットは特に必要ないので問題ないでしょう。
詳しい挙動としては、以下の通り。
・tab変換は、Sublime Textのデフォルトの機能を使っている。
・tab変換は、ctrl+spaceで出てくる変換候補の一番上を自動的に選択して変換する。
・変換候補の優先順位は、マニュアルを見る限りでは変更できない。
http://readthedocs.org/docs/sublime-text-unofficial-documentation/en/latest/reference/completions.html
では、Zen Codingは、どうやってtab変換を実現しているか?
ソースを読んだところ。。。
他のHTML変換候補をすべて削除しているwww
具体的には、TagCompletionsとHtmlCompletionsというやつ。
というわけで、「HTML5」のPackageを入れるとデフォルト以外の
HTML5変換候補が出てきてしまうので、そちらが変換されてしまうというものでした。
・おまけ
Zen Codingのショートカットは、設定ファイルを直接見るのは辛いので、
以下のポストに一覧が載ってたので参考にしてください。
http://www.sublimetext.com/forum/viewtopic.php?f=2&t=2633
以上
--
Toru Yoshikawa
mail: pikotea[at]gmail.com
twitter: yoshikawa_t
blog: http://d.hatena.ne.jp/pikotea/
ついでに、zen codingのhtml:5の変換結果が間違えているので、
修正した点もあげておきます。
[Packages]/ZenCoding/zencoding/zen_settings.py
このファイルの最初のほうに設定がありますが、561行目に
HTML5の変換結果も定義されています。
html要素のlang属性は言語コードを指定する項目ですが、
デフォルトでは、localeを指定していたので、次のように
langを使用するように書き換えています。
'html:5': '<!DOCTYPE html>\n' +
'<html lang="${lang}">\n' +
'<head>\n' +
' <meta charset="${charset}">\n' +
' <title></title>\n' +
'</head>\n' +
'<body>\n\t${child}|\n</body>\n' +
'</html>'
ついでに宗教上の理由から、DOCTYPE HTMLも
DOCTYPE htmlに直しておきました。
2012年4月3日4:17 Toru Yoshikawa <pik...@gmail.com>:
Zen-Coding の html:5 の locale と lang の間違いは
一年前位にissueに登録したのですが、そのままになってます。
登録したときにtwitterでちょっとだけやりとりして
pull requestしてくれよって言われてたのですが、僕も放置しちゃってて
さっき送ってみました。いつか取り込まれることを祈りつつ…。
# Sublimeが関係ない話題ですみません。
Enjoy Zen-Coding!
2012年4月3日18:24 Toru Yoshikawa <pik...@gmail.com>:
--
name => Sadaaki HIRAI
mail => j740...@gmail.com
blog => http://d.hatena.ne.jp/j7400157
twitter => http://twitter.com/sada_h