我写了一个函数来在"EMACS"中插入一些特殊字符,它会要求输入名称并插入相应的特殊字符。
示例:当我键入“alpha”时,该函数将α
改为插入。
但是当我输入这些字符时,我发现我不能使用自动完成。我将 alpha asα
和 beta as定义为β
,但是当我键入它时,al[Tab]
它只是插入了一个选项卡。
如何为我的函数定义自动完成?
- 编辑 - - - - - - - - - - - - - - - -
抱歉,我还是 emacs 新手,昨天才开始写 elisp 函数。
我只是用一种直接的方式来实现这个功能,使用interactive
with codes
来读取字符串
这就是为什么我想知道如何完成自动完成。因为我没有找到任何关于这些事情的教程。也许是因为我缺乏 elisp 知识来寻找正确的答案。
无论如何,这是我的代码:
(defun sp-char (char)
"Insert some special chars."
(interactive "sInput char name: ")
(let ((funky-char))
(setq funky-char
(cond
((string= char "Alpha" ) "Α")
((string= char "alpha" ) "α")
((string= char "Beta" ) "Β")
((string= char "beta" ) "β")
((string= char "Gamma" ) "Γ")
((string= char "gamma" ) "γ")
((string= char "Delta" ) "Δ")
((string= char "delta" ) "δ")
))
(insert funky-char)))
我搜索了读取字符串,但仍然对如何完成完成感到困惑。
如果您向我展示一小段代码作为示例,我将不胜感激。