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 は「django.conf インポート設定から」に展開しません。すべての構成を無効にして試しましたが、助けにはなりません。

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-- を展開する内部手続きは単語構文に依存しています-このところで理由がわかりません.Emacsは代わりに印刷可能なものを受け取ることができます.

その結果、アンダースコア文字に単語構文があるモードでは、定義が機能するはずです-たとえば、python-mode.el.

于 2013-11-09T17:41:15.437 に答える