当前位置:  开发笔记 > 编程语言 > 正文

Emacs - tab-completion本地Python变量

如何解决《Emacs-tab-completion本地Python变量》经验,为你挑选了4个好方法。

是否有一个很好的emacs模式,允许Tab键完成本地python变量?我设置了ipython.el,但它只会在解释器的范围内完成选项.我正在寻找能让我在函数或文件的本地命名空间中使用tab-complete标记的东西.



1> Amol Gawai..:

M- /运行命令dabbrev-expand.这将在任何模式下完成本地名称.此外,我将meta f1绑定到来自所有打开缓冲区的hippie expand.这对我来说非常有用.

;; Bind hippie-expand
(global-set-key [(meta f1)] (make-hippie-expand-function
                               '(try-expand-dabbrev-visible
                                 try-expand-dabbrev
                                 try-expand-dabbrev-all-buffers) t))

希望这很有用.



2> dermatthias..:

我使用emacs-autocomplete.el(版本0.2.0)和yasnippet.对我来说没问题,虽然它不像eclipse + java这样完整的自动完成环境.但足够像我这样的常见emacs黑客:)

1)从此处下载自动完成(第一个链接)并将其放在您的加载路径目录中.还要下载你想要使用的扩展(注意:Ruby和etags扩展需要额外的东西).把它们放在你的load-path dir中.

2)下载yasnippet并按照该页面上的说明进行安装(包括(require ...)部分).

3)将这些行放在.emacs文件中并根据需要编辑它们(就像你想要使用的所有扩展一样):

(require 'auto-complete)
(global-auto-complete-mode t)

(when (require 'auto-complete nil t)
  (require 'auto-complete-yasnippet)
  (require 'auto-complete-python)
  (require 'auto-complete-css) 
  (require 'auto-complete-cpp)  
  (require 'auto-complete-emacs-lisp)  
  (require 'auto-complete-semantic)  
  (require 'auto-complete-gtags)

  (global-auto-complete-mode t)
  (setq ac-auto-start 3)
  (setq ac-dwim t)
  (set-default 'ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-words-in-buffer ac-source-files-in-current-dir ac-source-symbols))

有关选项的更多信息,请参阅auto-complete.el文件.

4)重新启动emacs或使用.emacs文件执行Mx加载文件.写一些代码并按TAB键自动完成.



3> boskom..:

描述所需选项卡完成的博客文章可以在Emacs中的Python代码完成中找到 .有一些安装包,pymacs,自动完成,绳索,ropemacs,绳索模式,yasnippet和设置,但最后我希望它会得到回报.



4> Dave Halter..:

使用绝地!

它比其他任何自动补全库更了解Python:

内建

多重收益或收益

元组分配/数组索引/字典索引

有陈述/异常处理

* args / ** kwargs

装饰工/ lambdas /瓶盖

生成器/迭代器

一些描述符:property / staticmethod / classmethod

一些魔术方法:__call____iter____next____get____getitem____init__

list.append(),set.add(),list.extend()等。

(嵌套)列表推导/三元表达式

相对进口

getattr()__getattr__//__getattribute__

简单/常用的sys.path修改

isinstance检查if / while / assert

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有