2014-04-17 53 views
0

对于我的C(C++)的文件,添加此引用到cc模式到我.emacs文件:Emacs的:挂钩自定义扩展到cc模式

(setq c-default-style "stroustrup" 
c-basic-offset 4) 

我想使用的相同的自定义扩展名“.dec”。我试图调整天真这SO question

(defun my-decaf-mode() 
    (when (and (stringp buffer-file-name) 
      (string-match "\\.dec\\'" buffer-file-name)) 

      (setq c-default-style "stroustrup")  
      (c-basic-offset 4)))  

(add-hook 'find-file-hook 'my-decaf-mode) 

没有工作(我写在C几行;支持我就会给该文件.c扩展名是不存在)。我也尝试了实际的定制类型,如在

  (setq c-default-style "stroustrup"  
      c-basic-offset 4)))  

我怎么能做到这一点?

+0

怎么是这样的:'(添加到列表“自动模式ALIST“(“\\ \\月”。”C模式)。)'然后使用有点像'c-mode-hook' - 例如'(add-hook'c-mode-hook'my-decaf-mode)'? – lawlist

+0

@lawlist:感谢您的建议。你可以输入这个吗?我不太确定用什么来取代什么? :)(我的emacs自定义技能在基本方面) – gnometorule

+0

你真的想创建自己的主要模式,或者你只是想'C模式'有一些额外的东西,每当有一个'* .dec'延期? – lawlist

回答

1

这个回答假设功能my-decaf-mode做原来的海报想要什么,并且在需要的唯一的事情就是*.dec扩展名的文件与c-mode关联,然后调用函数my-decaf-mode时的主要模式c-mode在缓冲区中被激活:

(add-to-list 'auto-mode-alist '("\\.dec\\'" . c-mode)) 

(add-hook 'c-mode-hook 'my-decaf-mode)