您的位置:首页 > 编程语言 > Python开发

python tab 补全

2013-11-29 08:59 363 查看
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


[/code]
2、查看python默认的模块存放路径。





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

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

4、使用方法。





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

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

[python]
view plaincopyprint?

[~$]python
Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[GCC 4.6.3] 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>事件,脚本内容如下

[python]
view plaincopyprint?

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

[plain]
view plaincopyprint?

[/usr/lib/python2.7$]cd
[~$]vi .bashrc

4. 增加环境变量

[plain]
view plaincopyprint?

#for python
export PYTHONSTARTUP=/usr/lib/python2.7/startup.py

5.配置环境变量生效

[plain]
view plaincopyprint?

[~$]source .bashrc

PYTHONSTARTUP是什么东西呢?

[plain]
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 that objects defined or imported 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.拷贝致相应的目录

[plain]
view plaincopyprint?

unzip pydiction-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配置文件

[plain]
view plaincopyprint?

let g:pydiction_location = '/usr/share/vim/vim73/pydiction/complete-dict'
let g:pydiction_menu_height = 20

OK,测试是否生效吧 http://blog.csdn.net/loovejava/article/details/11751461
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: