yadianna 发表于 2018-8-7 10:35:15

python2.7 tab,自动补全

python <tab>自动补全
  一。这个方法可以修改shell命令行的自动补全
  1.获取python目录【我使用的是64位ubuntu系统】

[*]  [~$]python
[*]  Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[*]   on linux2
[*]  Type "help", "copyright", "credits" or "license" for more information.
[*]  >>> import sys
[*]  >>> sys.path
[*]  ['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
[*]  '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages',
[*]  '/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',
[*]  '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client',
[*]  '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch',
[*]  '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
[*]  >>>
  从上面看出python在我电脑上的路径是/usr/lib/python2.7
  2.切换至该目录写个startup.py的脚本,脚本目录就是处理python中<tab>事件,脚本内容如下
  

[*]  #!/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
  3.切换至自己主目录
  

[*]  cd
[*]  [~$]vi .bashrc
  4. 增加环境变量
  

[*]  #for python
[*]  export PYTHONSTARTUP=/usr/lib/python2.7/startup.py
  5.配置环境变量生效
  

[*]  [~$]source .bashrc
  PYTHONSTARTUP是什么东西呢?
   view plaincopyprint?

[*]  If this is the name of a readable file, the Python commands in that file are executed before the first prompt
[*]  is displayed in interactive mode.The file is executed in the same name space where interactive commands are
[*]  executed so thatobjects definedorimported in it can be used without qualification in the interactive session.
[*]  You can also change the prompts sys.ps1 and sys.ps2 in this file.
  二。这个方法能在VIM中自动补全
  1. 下载插件:
  下载地址:http://download.csdn.net/detail/loovejava/6284225
  2.拷贝致相应的目录
   view plaincopyprint?

[*]  unzippydiction-1.2.1.zip
[*]  cp python_pydiction.vim/usr/share/vim/vim73/ftplugin
[*]  mkdir/usr/share/vim/vim73/pydiction
[*]  cp complete-dict/usr/share/vim/vim73/pydiction/
[*]  cp pydiction.py/usr/share/vim/vim73/pydiction/
  3.修改vim配置文件
   view plaincopyprint?

[*]  let g:pydiction_location = '/usr/share/vim/vim73/pydiction/complete-dict'
[*]  let g:pydiction_menu_height = 20
  OK,测试是否生效吧
页: [1]
查看完整版本: python2.7 tab,自动补全