yasnippet のインストール @ FreeBSD
Eclipse を使おうとしていたのですが、
DocumentRoot より上の階層のファイル編集するときに面倒なのと
(キレイなディレクトリ構造を作れば問題ないけど)
エラーのポップアップが出まくるのが、直りそうもないのと
自宅で使う分には問題なかったけど、職場で使う分には
古いマシンだと激重なので、あきらめます。
そして、Emacs (22.3) に戻ることにしたんですが、
Tab 補完が好きなのと、設定をなるべくしないですむという条件で
いろいろ探していると、yasnippet というのが見つかりました。
とりあえず、インストール手順をメモります
- emacs をインストール
- yasnippet を ここからダウンロードして
http://code.google.com/p/yasnippet/
# mkdir ~/.emacs.d
# tar jxf yasnippet-0.5.6.tar.bz2
# cd yasnippet-0.5.6
# cp -R snippets ~/.emacs.d/
# cp yasnippet.el /usr/local/share/emacs/site-lisp
# tar zxf yasnippet-php-mode.tar.gz
# cd yasnippet-php-mode
# cp -R php-mode ~/.emacs.d/snippets/text-mode/
- 設定ファイルはこんなカンジ
- ~/.emacs
(show-paren-mode t) (set-language-environment 'Japanese) (set-terminal-coding-system 'utf-8) (setq file-name-coding-system 'utf-8) (set-clipboard-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) (setq coding-system-for-read 'mule-utf-8-unix) (prefer-coding-system 'utf-8) (set-default-coding-systems 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8-unix) (setq make-backup-files nil) (setq auto-save-default nil) (require 'yasnippet) (yas/load-directory "~/.emacs.d/snippets") (setq yas/use-menu nil) (add-to-list 'auto-mode-alist (cons "\\.\\(js\\|as\\|json\\|jsn\\)\\'" 'javascript-mode)) (autoload 'javascript-mode "javascript" nil t) (setq js-indent-level 4) (require 'dropdown-list) (setq yas/text-popup-function #'yas/dropdown-list-popup-for-template) (setq yas/buffer-local-condition '(or (not (or (string= "font-lock-comment-face" (get-char-property (point) 'face)) (string= "font-lock-string-face" (get-char-property (point) 'face)))) '(require-snippet-condition . force-in-comment))) (add-to-list 'yas/extra-mode-hooks 'php-mode-hook) (setq-default tab-width 4) (setq auto-mode-alist (cons (cons "\\.\\(phtml\\|ctp\\|thtml\\|inc\\|php[s34]?\\)" 'php-mode) auto-mode-alist)) (autoload 'php-mode "php-mode" "PHP mode" t) (yas/initialize) (global-set-key "\t" 'dabbrev-expand)
- コード補完の際のインデントが 空白スペース 3 になっているので直します
# cd ~/.emacs.d/snippets/text-mode/php-mode/ # perl -p -i -e 's/ / /g' *
- こちらのブログがすごく参考になりました
http://d.hatena.ne.jp/botchy/20080502/1209717204
- html_yas のモードのときのコード補完がコメントが出てくる
- html_yas のモードのときのコード補完の改行がおかしい
- 対応方法がわからなかったので、補完部分を記述しているファイルを修正します
# cd ~/.emacs.d/snippets/text-mode/html-mode/ # perl -i -pe 's/^\s*#.*\n$|^\s*$//' * # perl -i -pe 's/\r\n/\n/' *
これで、html を書くときに
form と打ち込んで、tab キーでごっそり補完、などが可能になりました。