python tab 补全

vim startup.py

 
  
    #!/usr/bin/python 
    # python startup file 
     
    import sys 
    import readline 
    import rlcompleter 
    import atexit 
    import os 
    # tab completion 
    readline.parse_and_bind('tab: complete') 
    # history file 
    histfile = os.path.join(os.environ['HOME'], '.pythonhistory') 
    try: 
        readline.read_history_file(histfile) 
    except IOError: 
        pass 
    atexit.register(readline.write_history_file, histfile) 
     
    del os, histfile, readline, rlcompleter 


2、查看python默认的模块存放路径。

3、拷贝功能脚本到默认模块存放路径。

 
  
  1. cp startup.py /usr/lib64/python2.4/ 

4、使用方法。


一。这个方法可以修改shell命令行的自动补全


1.获取python目录【我使用的是64位ubuntu系统】

[python] view plain copy print ?
  1. [~$]python  
  2. Python 2.7.3 (default, Apr 10 201306:20:15)   
  3. [GCC 4.6.3] on linux2  
  4. Type "help""copyright""credits" or "license" for more information.  
  5. >>> import sys  
  6. >>> sys.path  
  7. ['''/usr/lib/python2.7''/usr/lib/python2.7/plat-linux2''/usr/lib/python2.7/lib-tk''/usr/lib/python2.7/lib-old',   
  8. '/usr/lib/python2.7/lib-dynload''/usr/local/lib/python2.7/dist-packages''/usr/lib/python2.7/dist-packages',   
  9. '/usr/lib/python2.7/dist-packages/PIL''/usr/lib/python2.7/dist-packages/gst-0.10''/usr/lib/python2.7/dist-packages/gtk-2.0',  
  10. '/usr/lib/python2.7/dist-packages/ubuntu-sso-client''/usr/lib/python2.7/dist-packages/ubuntuone-client',   
  11. '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel''/usr/lib/python2.7/dist-packages/ubuntuone-couch',   
  12. '/usr/lib/python2.7/dist-packages/ubuntuone-installer''/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']  
  13. >>>   

从上面看出python在我电脑上的路径是  /usr/lib/python2.7



2.切换至该目录写个startup.py的脚本,脚本目录就是处理python中事件,脚本内容如下


[python] view plain copy print ?
  1. #!/usr/bin/python   
  2. # python startup file   
  3.            
  4. import sys   
  5. import readline   
  6. import rlcompleter   
  7. import atexit   
  8. import os    
  9. # tab completion   
  10. readline.parse_and_bind('tab: complete')   
  11. # history file   
  12. histfile = os.path.join(os.environ['HOME'], '.pythonhistory')   
  13. try:   
  14.     readline.read_history_file(histfile)   
  15. except IOError:   
  16.     pass   
  17. atexit.register(readline.write_history_file, histfile)   
  18.            
  19. del os, histfile, readline, rlcompleter  



3.切换至自己主目录


[plain] view plain copy print ?
  1. [/usr/lib/python2.7$]cd   
  2. [~$]vi .bashrc   


4. 增加环境变量


[plain] view plain copy print ?
  1. #for python  
  2. export PYTHONSTARTUP=/usr/lib/python2.7/startup.py  


5.配置环境变量生效

[plain] view plain copy print ?
  1. [~$]source .bashrc   


PYTHONSTARTUP是什么东西呢?

[plain] view plain copy print ?
  1. If this is the name of a readable file, the Python commands in that file are executed before the first prompt   
  2. is displayed in interactive mode.  The file is executed in the same name space where interactive commands are  
  3. executed so that  objects defined  or  imported in it can be used without qualification in the interactive session.    
  4. You can also change the prompts sys.ps1 and sys.ps2 in this file.  


二。这个方法能在VIM中自动补全

    1. 下载插件:

       下载地址:http://download.csdn.net/detail/loovejava/6284225

   2.拷贝致相应的目录

 

[plain] view plain copy print ?
  1. unzip  pydiction-1.2.1.zip  
  2. cp python_pydiction.vim  /usr/share/vim/vim73/ftplugin  
  3. mkdir  /usr/share/vim/vim73/pydiction  
  4. cp complete-dict  /usr/share/vim/vim73/pydiction/  
  5. cp pydiction.py  /usr/share/vim/vim73/pydiction/  

   3.修改vim配置文件
[plain] view plain copy print ?
  1. let g:pydiction_location = '/usr/share/vim/vim73/pydiction/complete-dict'  
  2. let g:pydiction_menu_height = 20  


OK,测试是否生效吧

http://blog.csdn.net/loovejava/article/details/11751461

你可能感兴趣的:(python tab 补全)