我可以将一些宏后处理绑定到Emacs缩写吗



我正在尝试创建"智能"缩写,这些缩写可以扩展到一些文本,然后移动光标。例如,在C模式中,我希望INC扩展到#include <>,光标位于<>标志。或者,在HTML模式下:BF扩展为<b></b>,光标位于正确的位置。

实现这一点的明智方法是什么(除了为所有这些定义函数并将它们绑定到一个键,我不想这样做,因为我更喜欢缩写)?

我衷心推荐Yasnippets。它似乎是为做你想做的事而设计的。

  • EmacsWiki:Yasnippet
  • ErgoEmacs Yasnippet综述
  • GitHub上的Yasnippet

你也可以通过Elpa安装它。

我想你想要的是:

hippee-expand是一个交互式编译的Lisp函数`hippe-exp.el'。它注定会出现M-停顿。(嬉皮士扩展arg)

尝试使用多种方法在点之前展开文本。扩展hippie-expand-try-functions-list' are tried in order, until a possible expansion is found. Repeated application of 嬉皮扩展中的函数依次插入可能的扩展。使用正数参数,直接跳到中的arg下一个函数这个列表。使用否定参数或仅使用C-u,撤消膨胀

[返回]

它肯定会在我的系统上出现M-暂停,可能还没有在你的系统上。

定义缩写。比

M-x编辑缩写RET

第四个插槽接收一个函数。例如写入:

(lambda nil (forward-char -1))

以便在展开后向后移动一个字符。

最新更新