下面是我的 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)
))
最佳答案
您可以使用特定于模式的缩写表。对于 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/] 了解更多功能。
关于emacs - 仅当我编辑 .c 或 .cpp 时,如何加载 .abbrev_defs 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130346/