linux下Tab及shell 补全python
Python自动补全
Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全。
vim python自动补全插件:pydiction
可以实现下面python代码的自动补全:
简单python关键词补全
python 函数补全带括号
python 模块补全
python 模块内函数,变量补全
from module import sub-module 补全
想为vim启动自动补全需要下载插件,地址如下:
http://vim.sourceforge.net/scripts/script.php?script_id=850
https://github.com/rkulla/pydiction
安装配置:
wget https://github.com/rkulla/pydiction/archive/master.zip unzip -q master mv pydiction-master pydiction mkdir -p ~/.vim/tools/pydiction cp -r pydiction/after ~/.vim cp pydiction/complete-dict ~/.vim/tools/pydiction
确保文件结构如下:
# tree ~/.vim
/root/.vim
├── after
│ └── ftplugin
│ └── python_pydiction.vim
└── tools
└── pydiction
└── complete-dict
创建~/.vimrc,确保其中内容如下:
# cat ~/.vimrc filetype plugin on let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'
用vim编辑一个py文件,import os.,这时候应该出现提示,证明成功,如下图

python交互模式下Tab自动补齐创建文件如下:
# cat ~/.pythonstartup
# python startup file
#!/usr/bin/env python
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
1
echo 'export PYTHONSTARTUP=~/.pythonstartup' >> ~/.bash_profile
重新登陆shell,输入python命令进入交互模式,就可以用Tab键进行补全。如下图:

linux下Tab及shell 补全python的更多相关文章
- Linux下QTCreator代码自动补全(是真的自动补全,不是手动触发)
在使用Windows下的QTCreator的时候,像visual studio一样代码自动补全十分方便,而在Linux下,QTCreator似乎不能做到. 网上有些说是可以设置成手动补全,今天试了一下 ...
- python交互模式下tab键自动补全
import rlcompleter,readline readline.parse_and_bind('tab:complete')
- linux中tab键不能补全,却能切换窗口
linux中所有程序-设置-窗口管理器-键盘-切换同一应用程序的窗口-清除
- VIM自动补全Python代码
pydiction插件 https://codeload.github.com/rkulla/pydiction/zip/master 新建bundle文件夹 mkdir ~/.vim/bundle ...
- python命令行添加Tab键自动补全
1.编写一个tab的自动补全脚本,名为tab.py #!/usr/bin/python # python tab complete import sys import readline import ...
- Python之Tab键自动补全
首先备份一下Tab键自动补全代码: # python start file import sys import readline import rlcompleter import atexit im ...
- vim编辑下Python2.0自动补全
Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全. 一.vim python自动补全插件:pydiction 可以实现下面python代码 ...
- linux-----遇到的问题----tab键不补全sh文件不能运行
在linux上部署tomcat,进入bin目录后 遇到了tab键不补全sh文件不能运行的情况. 如果自己输入sh文件名后也会报错: [x@web bin]$ ./startup.shbash: ./s ...
- 远程桌面中Tab键不能补全的解决办法
我们曾在之前的一篇文章中介绍了windows远程连接ubuntu的方法,在成功登陆远程桌面环境之后,发现在终端中Tab键不能自动补齐(但是Ctrl +Tab 可以用,但是需要按下组合键才能补全的话,时 ...
随机推荐
- IPFS开发团队是如何工作的?
小编不是一个很八卦的人,连当红明星都认不全.不过,今天还是带领大家来扒一扒ipfs开发团队是如何工作的. 工作方式: 全体会议:每周一有一个全体会议,这个会议是提前安排好的一个日程 任务讨论:把大任务 ...
- 简单docker镜像修改方式
• 创建Dockerfile,文件内容如下: FROM nps:v1.0.1 ENTRYPOINT ["/usr/bin/init.sh"] • 启动基础镜像:docker run ...
- load vs. initialize
这篇文章来对比一下NSObject类的两个方法,+load与+initialize. + (void)load; Invoked whenever a class or category is add ...
- 归并排序及优化(Java实现)
普通归并排序 public class MergeSort { /** * @param arr 待排序的数组 * @param left 本次归并的左边界 * @param mid 本次归并的中间位 ...
- ConcurrentHashMap源码解析(JDK1.8)
package java.util.concurrent; import java.io.ObjectStreamField; import java.io.Serializable; import ...
- MySQL聚集索引和非聚集索引
索引分为聚集索引和非聚集索引,mysql中不同的存储引擎对索引的底层实现可能会不同,这里只关注mysql的默认存储引擎InnoDB. 利用下面的命令可以查看默认的存储引擎 show variables ...
- [ZJOI2007] 矩阵游戏
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两 ...
- cloneNode和replaceChild
node.cloneNode(deep) var node=document.getElementById("myList2").lastChild.cloneNode(true) ...
- http.request请求及在node中post请求参数解析
Post请求 var http=require('http'); var qs=require('querystring'); var post_data={a:123,time:new Date() ...
- Axure RP初学2