求一个Emacs里用Elisp实现一个小功能,怎么实现在输入{时自动根据当前光标位置进行不同的补完

Vim、Emacs配置和使用
回复
永恒の星空
帖子: 5
注册时间: 2009-05-02 17:59

求一个Emacs里用Elisp实现一个小功能,怎么实现在输入{时自动根据当前光标位置进行不同的补完

#1

帖子 永恒の星空 » 2009-05-19 0:05

就是想实现这么一个功能
当在键盘按下{时候,根据当前光标所在位置,输出不同的内容。
比如现在有代码while (x),当前指针在X前面。要按一下{键,代码自动补完成
while (x)
{
|(指针位置)
}
这样
而当当前指针不在字母里面的时候,比如说在新的单独一行的时候,自动补完成
{
|(指针位置)
}
的形式。

已经打开了自动补完大括号的设置。(local-set-key (kbd "{") 'skeleton-pair-insert-maybe)。
因为大括号键似乎已经被绑定到这个函数了,宏知道怎么写,但是不懂怎么绑定到Elisp的条件判断中去。。

弄了一晚上都不懂怎么实现这功能……求高手指教。

:em20
回复