Emacs:缩写模式无法在 Python 模式下工作



我使用这样的代码为 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 导入设置"。我已经尝试过禁用所有配置,但没有帮助。

似乎下

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

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

它将按预期工作。

扩展缩写的内部程序 - 缩写--之前点 - 依赖于单词语法 - 看不到这个原因 顺便说一句,Emacs 可以采用任何可打印的代替。

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

最新更新