emacs的:缩写模式不能在Python应用模式(emacs: abbrev-mode can

2019-11-02 14:58发布

我以这样代码定义蟒蛇模式一些缩写

(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导入设置”。 我已经禁用了所有的配置,但没有帮助尝试过。

Answer 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")
    ))

它会正常工作。



Answer 2:

内部程序扩展的缩写--abbrev - 前 - point--依赖于文字语法 - 无法看到一个原因BTW,Emacs的可以采取任何可打印代替。

在结果,与下划线字符具有字语法的模式,你的定义应该努力 - 例如与Python-mode.el。



文章来源: emacs: abbrev-mode can't work in python-mode