主要是c, c++编辑
codeblocks中一个单词没有打完就可以弹出自动补齐的列表
我网上搜到的一些emacs的补齐都需要绑定一个键, 如何做到不用绑定特殊的按键?
谢谢
emacs怎么设置象codeblock那种打到一半就自动补齐呢?
- yangcheng
- 帖子: 498
- 注册时间: 2005-09-27 18:24
- 来自: 杭州
-
- 帖子: 322
- 注册时间: 2007-02-26 2:29
- 来自: 广东
-
- 帖子: 768
- 注册时间: 2006-09-20 19:56
- zhan
- 帖子: 1880
- 注册时间: 2005-08-15 0:04
- 来自: 南7技校
Re: emacs怎么设置象codeblock那种打到一半就自动补齐呢?
可以简单点做 . -> 这样的补齐,其他的可能不好实现。yangcheng 写了:主要是c, c++编辑
codeblocks中一个单词没有打完就可以弹出自动补齐的列表
我网上搜到的一些emacs的补齐都需要绑定一个键, 如何做到不用绑定特殊的按键?
谢谢
比如说我用 xref-completion 补齐,这个本来默认是要绑定按键的,现在定义一个函数,然后将其绑定到
. > 上
代码: 全选
(defun xref-completion-self-insert (arg)
"Like `self-insert-command', but does completion afterwards.
ARG is passed to `self-insert-command'. If ARG is nil,
use `xref-completion' to complete."
(interactive "p")
(self-insert-command arg)
(xref-completion))
代码: 全选
(local-set-key "." 'xref-completion-self-insert)
(local-set-key ">" 'xref-completion-self-insert
不管怎么说,算一个解决方案吧...,缺点就在于任意按一个按键就会自动补齐,更多的时候会出来一些自己不想要的东西..
semantic 里面有相应的 semantic-complete-self-insert 的函数,将它绑定到一个个字母就是了,我想,要实现这个可能还需要弄一个计时这样的功能可能更好,比如在击键间隔500ms的时候自动激活这个函数,那么就不会任意敲一个字母就出来补全了。只有在停顿下来一定时间间隔,比如上文的500ms的时候才出来补全列表。关于这个应该在emacs里面能够实现,不过我没有研究过。
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn
http://zhan.blog.ubuntu.org.cn