设为首页 收藏本站
查看: 809|回复: 0

[经验分享] python交互模式设置及VIM的tab补齐

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-2-6 08:13:44 | 显示全部楼层 |阅读模式
一、python交互模式设置
    Python 解释器具有简单的行编辑功能。 在 Unix 系统上,任何 Python 解释器都可能已经添加了 GNU readline 库支持,这样就具备了精巧的交互编辑和历史记录等功能。 在 Python 主窗口中输入 Control-P 可能是检查是否支持命令行编辑的最简单的方法。 如果发出嘟嘟声(计算机扬声器),则说明你可以使用命令行编辑功能; 如果没有任何声音,或者显示 ^P 字符,则说明命令行编辑功能不可用;你只能通过退格键从当前行删除已键入的字符并重新输入。
       如果出现命令行编辑功能不可用,请安装readline-devel的包,进行重装编译安装即可解决。

二、VIM的tab补齐
Pydiction : Tab-complete your Python code

下载地址:
http://www.vim.org/scripts/script.php?script_id=850  下载pydiction-1.2.3.zip

      Pydiction 允许你在 Vim 中实现 TAB 代码补全, 可以补全的内容包括:标准的、自定义的,以及第三方模块和包。外加关键字、BIFs,和字符串。  

Pydiction 由 3 个主要文件构成:      

  • python_pydiction.vim -- 该文件为 Vim 的 plugin 文件,实现 Python 文件的 TAB 补全功能。
  • complete-dict -- 该文件为 Vim 的 dictionary 文件,其中包含 Python 关键字和模块结构等信息。是 plugin 进行补全时所查找的参考文件。
  • pydiction.py -- (可选)该文件是 Python script 文件,用于生成 dictionary 文件。可以通过执行该脚本添加更多的可 TAB 补全模块。


用法  
=====  
      在 Vim 中输入部分 Python 关键字、模块名、属性或方法名,然后按 Tab 键以弹出补全信息。
例如, 输入
        os.p<Tab>  
会弹出
        os.pardir  
        os.path  
        os.pathconf(  
        os.pathconf_names  
        os.pathsep  
        os.pipe(  
        ...  

      如果你发现在 TAB 完成菜单中得到的结果并不是你想要的,可能的一种原因是你没有设置 Vim 忽略大小写。可以通过 ":set noic" 方式进行设置。

【如何安装】
      在 UNIX/LINUX 下,将 python_pydiction.vim 放入 ~/.vim/after/ftplugin/ ,若该目录不存在则手动创建,Vim 会自动去该目录下查找相关文件。不要把除 python_pydiction.vim 之外的其他文件放入该目录。

在你的 vimrc 文件中增加下面的字段来启用 ftplugins :     
        filetype plugin on  
之后确保设置 "g:pydiction_location" 指向你放置的 complete-dict 文件所在的全路径,例如        
        let g:pydiction_location = 'C:/vim/vimfiles/ftplugin/pydiction/complete-dict'  

网上有人做如下设置可以参考

# unzip pydiction-1.2.3.zip
# cp python_pydiction.vim /root/.vim/after/ftplugin
# cp complete-dict pydiction.py /root/pydiction/
# vi ~/.vimrc
...

# 增加

filetype plugin on
let g:pydiction_location = '/root/pydiction/complete-dict'
let g:pydiction_menu_height = 20
...


打开 python 脚本文件,在编写 python 程序时,按 TAB 键即可激活自动补全菜单。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-42035-1-1.html 上篇帖子: python unittest框架 下篇帖子: Python的数据结构 python
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表