0

我已经使用这样的代码为 python 模式定义了一些缩写

(define-abbrev-table 'python-mode-abbrev-table
  '(
    ("i_settings" "from django.conf import settings")
    ("i_requestcontext" "from django.template import RequestContext")
    ("i_model" "from django.db import models")
    ("i_form" "from django import forms")
    ))

但它不能正常工作。例如,我输入“i_settings”然后输入一个空格,emacs 不会扩展为“from django.conf import settings”。我已经在禁用所有配置的情况下尝试过,但没有帮助。

4

2 回答 2

1

下划线似乎_阻止了扩展。试试不带下划线的同一张表

(define-abbrev-table 'python-mode-abbrev-table
  '(
    ("isettings" "from django.conf import settings")
    ("irequestcontext" "from django.template import RequestContext")
    ("imodel" "from django.db import models")
    ("iform" "from django import forms")
    ))

它会按预期工作。

于 2013-11-09T12:52:37.880 回答
0

扩展缩写--abbrev--before-point-- 的内部过程依赖于单词语法- 看不出这个BTW 的原因,Emacs 可以采用任何可打印的代替。

结果,对于下划线字符具有单词语法的任何模式,您的定义都应该有效 - 例如使用 python-mode.el。

于 2013-11-09T17:41:15.437 回答