2022年 11月 16日

Python 自动补全 (vim) (pydiction)

一、vim python自动补全插件:pydiction

可以实现下面python代码的自动补全:

1.简单python关键词补全
2.python 函数补全带括号
3.python 模块补全
4.python 模块内函数,变量补全
5.from module import sub-module 补全

想为vim启动自动补全需要下载插件,地址如下:
vim: link.
pydiction: link.

安装配置:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

确保文件结构如下:

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'
  • 1
  • 2
  • 3
  • 4

用vim编辑一个py文件,import os.,这时候应该出现提示,证明成功,如下图
在这里插入图片描述

二、python交互模式下Tab自动补齐

创建文件如下:

cat ~/.pythonstartup
  • 1
# 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
    
echo 'export PYTHONSTARTUP=~/.pythonstartup' >> ~/.bash_profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

重新登陆shell,输入python命令进入交互模式,就可以用Tab键进行补全。如下图:
在这里插入图片描述