【问题标题】:How can I add my personal abbreviation to emmet-mode in Emacs?如何在 Emacs 中将我的个人缩写添加到 emmet-mode?
【发布时间】:2013-09-29 02:02:28
【问题描述】:

我在 Emacs24 中使用 emmet-mode。

我想把php扩展成<?php ?>,但是Emmet不支持php缩写。

我想如果我在其他一些添加修订之间插入一行(puthash "php" "<?php ?>;" tbl),但它不起作用。最重要的是我不想直接写emmet-mode.el

如何在模式 elisp 文件之外定义我的缩写?

【问题讨论】:

  • 你试过 M-x add-mode-abbrev 吗?
  • 我不知道。我也试试。感谢您的提示!

标签: emacs


【解决方案1】:

我会为此使用yasnippet。无论如何,对于emmet-mode

(puthash "pp" "<?php ${child} ?>" emmet-tag-snippets-table)

据我了解,emmet-mode 的所有首选项都包含在哈希表 emmet-snippets 中,然后它包含每个模式特定的 sn-ps 和别名的嵌套哈希表。

emmet-snippets = {
  "html": {
    "snippets": {...}
    "aliases": {...}
  },
  "css": {
    "snippets": {...}
    "aliases": {...}
  }
}

【讨论】:

  • 感谢您的信息!我将使用 yasn-p。这似乎很符合我的情况。
  • 内部gethash 调用可以替换为emmet-tag-snippets-table。 (还有emmet-tag-aliases-tableemmet-css-snippets。)
【解决方案2】:

M-x add-mode-abbrev 在这里与emmet-mode 一起使用。

add-mode-abbrev 带来了不便,因为它在内部使用 backward-word 来捕获所需的扩展。因此在没有数字参数的情况下调用它,默认为数字参数 1,它将绑定“php?>”作为扩展。比 M-x edit-abbrevs RET 并修复它。

【讨论】:

    猜你喜欢
    • 2016-03-28
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多