我试图创造" smart"缩写,扩展为某些文本,然后移动光标。例如,在C模式下,我希望INC
扩展到#include <>
,光标位于&lt;&gt;之间。迹象。或者,在HTML模式下:BF
展开到<b></b>
,光标位于正确位置。
什么是一种明智的方式来解决这个问题(没有为所有这些定义功能并将它们绑定到一个我不想做的关键,因为我更喜欢缩写)?
答案 0 :(得分:2)
我衷心地推荐Yasnippets。它似乎旨在完全按照您的意愿行事。
您也可以通过Elpa安装它。
答案 1 :(得分:0)
我认为你在寻找的是:
hippie-expand是一个交互式编译的Lisp函数 `嬉皮exp.el”。它必然会出现M-pause。 (hippie-expand arg)
尝试使用多种方法在点之前展开文本。扩张
hippie-expand-try-functions-list' are tried in order, until a possible expansion is found. Repeated application of
hippie-expand'中的函数连续插入可能的扩展。有了 正数字参数,直接跳转到arg下一个函数中 这个清单。有了一个否定的论点或只是C-u,撤消 扩展[返回]
我的系统上有M-pause的约束,可能还不在你的系统上。
答案 2 :(得分:0)
定义缩写。比
M-x edit-abbrevs RET
第四个插槽接收一个功能。例如写:
(lambda nil (forward-char -1))
为了在扩张后向后移动一个字符。