通过配置 VIM 实现 编写 Python 时的自动补全

1. VIM 常用设置

vim 的配置文件为 vimrc 文件,而且知道 vimrc 文件分为系统 vimrc 文件和用户 vimrc 文件。在通常情况下,我们不进行系统 vimrc 文件的修改,而是各个用户针对自己的需求对用户 vimrc 文件进行配置。

vimrc 文件的路径

打开 vim 并输入":version"命令,就可以看到关于vimrc的路径设置规则:
image.png

用户 vimrc 文件

通常在用户家目录下会有一个默认的 vimrc 文件,如果不存在则创建一个名为.vimrc的普通文本文件即可。

常用设置

缩进设置

set smarttab

" 设置tab符长度为4个空格
set tabstop=4

" 设置换行自动缩进长度为4个空格
set shiftwidth=4

" 设置tab符自动转换为空格
set expandtab

" 设置智能缩进,其他可选缩进方式:autoindent, cindent, indentexpr
set smartindent

字体设置

set guifont=Courier\ New\ 10

显示行号

" 设置显示行号,关闭行号显示命令:set nonumber
set number

配色方案

colorscheme desert

备份文件

" 如果想关闭备份文件,使用:set nobackup
set backup
set backupext=.bak

空白符显示

" 设置显示空白符
set list
set listchars=tab:\>\ ,trail:.

" 设置行尾空格高亮显示
highlight WhitespaceEOL ctermbg=red guibg=red 
match WhitespaceEOL /\s\+$/

2. Python 自动补全

vim python 自动补全插件:pydiction

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

  • 简单python关键词补全
  • python 函数补全带括号
  • python 模块补全
  • python 模块内函数,变量补全
  • from module import sub-module 补全

想为 vim 启动自动补全需要下载插件,下载 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,确保其中内容如下

# tail -n 2 ~/.vimrc
filetype plugin on
let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'
let g:pydiction_menu_height = 3

用 vim 编辑一个 py 文件

image.png

:python 交互模式下 Tab 也会自动补齐