Как загрузить мой файл .abbrev_defs, только если я редактирую .c или .cpp? - PullRequest
2 голосов
/ 27 февраля 2011

Ниже находится мой файл для начинающих .abbrev_defs для emacs. Я не знаю, так ли это на самом деле или нет. Если есть лучший способ, я хотел бы знать.

(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 Ответ

3 голосов
/ 27 февраля 2011

Вы можете использовать специфичные для режима таблицы сокращений.Для режимов c-mode и 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 ++в c++-mode-abbrev-table.

Кроме того, вы можете пойти с yasnippet [http://code.google.com/p/yasnippet/] для получения дополнительных возможностей.

...