给Python加上自动补全功能

发布时间:2019-09-13 09:27:24编辑:auto阅读(1501)

    最近在学习deeplearning, 把理论看了一遍后,准备开始用TensorFlow做开发。当然了,我们现在需要用到Python了。习惯了自动补全功能,还是想在Python下可以自动补全的,看了很多的帖子,http://blog.csdn.net/robertsong2004/article/details/48165557,确实可以自动补全了。

    但是发现了每次运行完Python后,exit()退出Python环境后,发现就进不去Python了,呵呵了,仔细看一下发现,history的命令也要加入到startup文件中,这不是很蛋疼,不能每次都要清理里面的exit()历史记录,所以进入里面发现,historyfile = os.path.join(os.environ['HOME'],'.pythonstartup') ,这句话把history的命令添加到该文件末尾,问题就出在这里了,所以,把这个文件改了就OK了,history文件单独建立一个history文件,在~下vim .pythonhistory, 然后把原来的语句改为:

    history_file = os.path.join(os.environ["HOME"],".pythonhistory") ,其他都不变,这样可以了。最后原来的帖子变为:

     

    1. # python startup file  
    2. import readline  
    3. import rlcompleter  
    4. import atexit  
    5. import os  
    6. #tab completion  
    7. readline.parse_and_bind('tab: complete')  
    8. #history file  
    9. historyfile = os.path.join(os.environ['HOME'],'.pythonhistory')  
    10. try:  
    11.     readline.read_history_file(historyfile)  
    12. except:  
    13.     pass  
    14. atexit.register(readline.write_history_file,historyfile)  
    15. del os,historyfile,readline,rlcompleter  

    下面记录一下详细过程:

     

     

    1.  cd ~

    2.  vim .pythonstartup

     复制上面的代码到该文件中,保存退出(:wq)

    3. vim .pythonhistory

    新建history文件: 继续保存退出(:wq)

    4. vim .bashrc

    在其末尾加上:export PYTHONSTARTUP="/home/xxxx/.pythonstartup" (最好绝对路径,xxxx对应你的用户名)

    5. source .bashrc

    source一下.bashrc文件就OK了

    自动补全效果还是可以的,不过还是有些不完美的地方。

    比如想要自动补全tensorflow,这个功能还是不可以实现的。用ipython就非常方便,

    另外,我们经常会ftp到服务器上开发,在shell下编辑Python文件的话,还是少不了vim编辑文件,这时候,我们也要在编辑文件的时候需要自动补全,这时候就需要一个字典了,可以参考http://www.jb51.net/article/58009.htm这个,我测试过可以应用,不过字典中没有tensorflow的东西,需要自己添加,后面我会慢慢解决这个问题。

    工欲善其事必先利其器,环境这一块先到这里了,后面再慢慢记录。当然了,希望寻找一些志同道合的一起学习tensorflow。

     

    2017-5-2 续:

    vim下安装TensorFlow支持

    其实只需要一个命令:

    python pydiction.py tensorflow

    不过一定要注意,要把当前文件夹定位到pydiction.py文件所在的位置:~/.vim/pydiction

     

    然后你会发现生成了新的字典文件,查找一下TensorFlow,就发现加入了好多

     

    另外一个要注意的地方.vimrc里面的字典路径是在tools文件夹下,这里只需要把新生成的字典文件copy到tools文件夹下覆盖完成即可了。(cp命令,自行查找如何应用)

    测试一下效果:

    是不是感觉棒棒哒

    这里面有个小技巧,你在import as之后,由于字典中没有tf关键词,我这里把所有的TensorFlow的命令全部复制添加到了文件尾,然后用tf批量替换tensorflow即可。注意不要全局替换,用CTRL+v的模式替换

     

    更新2017-11-15

    vim配置:https://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html,这是一个非常好用的配置文件,但是带来一个问题就是python没有办法补全了,解决方法非常简单:

     

    "Pydiction
    let g:pydiction_location =‘xxxxxxxx’

    这里还是上面配置好的字典位置,这样看一下代码如何

     

    有没有非常炫酷的样子

     

    2019年9-3日更新

    现在有个非常好用的vim配置文件,可以一键完成自动补全、语法高亮、文件管理、blabla等的功能,推荐用vimplus这个,现在用了半年了,非常好用,地址直通车:https://github.com/chxuan/vimplus

    一切按照git说明来做,亲测有效。

    如果要在服务器端进行配置,会出现没有root权限的问题,需要自己手动安装ctag这个软件,expert执行文件到PATH,服务器端也可以完美运行。如有什么问题,可以评论交流。

关键字