yasnippet と anything-c-yasnippet の起動をタブに統一
yasnippet, anything-c-yasnippetのまとめエントリー - IMAKADO::BLOG で、yasnippet と anything-c-yasnippet の起動方法が別々になっているのをタブに統一したい。
タブを押したとき、
;; スニペット展開で候補がないときの処理 (defun my-anything-c-yas-complete () (interactive) (let (word start end) ;; カーソル手前の単語を取得 (save-excursion (setq end (point)) (re-search-backward "^\\|\\<\\w") (setq start (point)) (setq word (buffer-substring-no-properties start end))) ;; カーソル手前が単語でないときか、コメント/ リテラルであるときは、処理をわ ;; ける (if (or (not (string-match "\\w+" word)) (memq (get-text-property (point) 'face) '(font-lock-comment-face font-lock-doc-face font-lock-string-face))) ;; オリジナルの TAB 処理 (funcall (or (lookup-key (current-local-map) (kbd "TAB")) (lookup-key (current-global-map) (kbd "TAB")))) ;; anything-c-yasnippet (anything-c-yas-complete) ))) ;; スニペット展開で候補がなかったら、anything でリスト表示 (setq-default yas/fallback-behavior '(apply my-anything-c-yas-complete))
2010/07/10 修正 global-local-map -> current-global-map
2010/07/11 いろいろ修正