emacs:abbrev-mode无法在python-mode中工作

时间:2013-11-09 12:06:30

标签: emacs python-mode

我已经使用像这样的代码

为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不会扩展为“来自django.conf导入设置”。我已尝试禁用所有配置,但没有帮助。

2 个答案:

答案 0 :(得分: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")
    ))

它将按预期工作。

答案 1 :(得分:0)

内部程序扩展一个缩写 - 简称 - 前点 - 依赖于单词语法 - 看不出这个BTW的原因,Emacs可以采取任何可打印的。

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