Home > GoodPic.Com

GoodPic.Com

  • 2010-02-25 (木)
  • Emacs に、Zencoding.el と YASnippet.el の二つのスニペットをインストール


    巷で話題のZen Coding。emacs 版もあるようなので、Mac のCarbon Emacsに入れてみた。今までスニペット機能は、emacs + snippet.el を使っていましたが、この動画を見ると(YouTube - Emacs with HTML, Zencoding and YASnippet)、そういうのは YASnippet 使えという雰囲気なので、ついでに YASnippet に切り替えてみた。

    zen-coding-emacs

    まずは、zencoding.elをインストール。

    上記のページから、zencoding-mode.elを取得して、load-path を通しているフォルダに配置。emacsの設定ファイル(.emacs.el )に以下を追加するだけ。キーバインドは Ctr-z に変更しています。



    ;; Zen Coding Mode
    (require 'zencoding-mode)
    (add-hook 'sgml-mode-hook 'zencoding-mode)
    (add-hook 'html-mode-hook 'zencoding-mode)
    (add-hook 'text-mode-hook 'zencoding-mode)
    (define-key zencoding-mode-keymap "\C-z" 'zencoding-expand-line)

    ただし、この emacs 版はAbbre的な部分のみの実装していて、ZenHTMLElements みたな派手な補完には対応していないよう。あと、スニペット補完後のカーソルの位置が、あまり使いやすくない。Zen Codingのミソは、Snippetの内容を様々なエディタで共有できることだと思うので、そのあたりは今後のzencoding-mode.el の進化に期待というところでしょうか。とりあえず今のところは YASnippet で。

    Bundle版ではなく、カスタマイズが可能な通常版をインストールしました。ちなみにemacsの設定ファイルはDropboxにおいて、色々なMacでシェアしています。

    ;; Yasnippet
    (add-to-list 'load-path "˜/Dropbox/emacs/yasnippet-0.6.1c")
    (require 'yasnippet)
    (yas/initialize)
    (yas/load-directory "˜/Dropbox/emacs/yasnippet-0.6.1c/snippets")
    (setq yas/prompt-functions '(yas/dropdown-prompt))
    

    独自のスニペットの作成方法は以下のドキュメントで。

    基本的には、M-x yas/new-snippet で編集モードを起動して、以下のような書式で独自のスニペットを作成する。作成している最中に、C-c C-t で動作テストをおこなえる。

    
    # -*- mode: snippet -*-
    # name: div h4
    # key: div4
    # --
    <div class="section" id="$1">
      <h4>$2</h4>
      $0
    </div> <!-- $1 -->
    


    どのように記述するかは、 yasnippet-0.6.1c/snippets/text-mode/html-mode に既存のスニペットが沢山あるので、参考にすればよい。

    なんだか、最終的にZen Codingをあまり使わない方法になっている気もしますがw、色々とすっきりしたのでよしとします。


[Powered by nuwaa-jyuku.com]

Home > GoodPic.Com

Search
Feeds

Page Top