如果我正在编辑.c或.cpp,如何加载.abbrev_defs文件?

时间:2011-02-26 23:09:31

标签: emacs autocomplete elisp

以下是emacs的新手.abbrev_defs文件。我不知道这是否是常规方式。如果有更好的方法,我想知道。

(define-abbrev-table 'global-abbrev-table '(
    ("if" "if()\n  {\n\n  }" nil 1)
    ("else" "else\n  {\n\n  }" nil 1)
    ("while" "while()\n  {\n\n  }" nil 1)
    ("for" "for(;;)\n  {\n\n  }" nil 1)
    ))

1 个答案:

答案 0 :(得分:3)

您可以使用特定于模式的缩写表。对于c模式和c ++模式,您需要添加:

(define-abbrev-table 'c-mode-abbrev-table '(
    ("if" "if()\n  {\n\n  }" nil 1)
    ("else" "else\n  {\n\n  }" nil 1)
    ("while" "while()\n  {\n\n  }" nil 1)
    ("for" "for(;;)\n  {\n\n  }" nil 1)
    ))

(define-abbrev-table 'c++-mode-abbrev-table '(
    ("if" "if()\n  {\n\n  }" nil 1)
    ("else" "else\n  {\n\n  }" nil 1)
    ("while" "while()\n  {\n\n  }" nil 1)
    ("for" "for(;;)\n  {\n\n  }" nil 1)
    ))

起初,我关注重复,但理论上,你可能希望在c++-mode-abbrev-table中使用c ++特定结构的缩写。

或者,您可以使用yasnippet [http://code.google.com/p/yasnippet/]获取更多功能。

相关问题