0.前言


环境:

Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux

参考:

Vim与Python真乃天作之合:打造强大的Python开发环境

Debian下Vim的编译

Vundle.vim/doc/vundle.txt

用 Vim 来打造自己心仪的 IDE


1.编译Vim


首先卸载掉系统和之前通过apt-get安装的vim,包括:

sudo apt-get remove vim vim-runtime gvim vim-tiny vim-common vim-gui-common vim-nox

如果是通过make install安装的就需要whereid或者find出vim相关的文件夹然后删掉。

通过

git clone https://github.com/vim/vim.git
cd vim

下载vim的最新版本(此时是8.0)并进入文件夹准备进行编译。

输入

./configure \
    --prefix=/usr/local/ \
    --with-features=huge \
    --enable-multibyte \
    --enable-python3interp=yes \
    --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf \
    

进行编译参数,这里只选了设置安装文件夹、打开最多的feature、支持多字节语言、打开支持pyhton3和设置对应的目录。当然了这里还可以选择的其他参数很多,可以根据上一章的参考链接里或者百度谷歌适合自己的。

随后就

sudo make
#src/vim --version
sudo make install

第二句用#号开头的那句可以在make之后查看编译之后的vim的feature,可以看到+python3。然而,我编译了2次都没看到,可以在./configure后的信息中看到:

checking --enable-python3interp argument... no

而且查看了pyhton3-dev也安装了的,随后remove掉再installpython3-dev就可以了。

安装完后输入可以看到

$ vim --version|grep python
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         +python3           +wildignore
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl   -ldl     -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm   

那么编译安装就完成了。

至于原文说的:

确保你已经安装了7.3版本以上、支持Python的Vim编辑器。你可以再次运行vim --version进行确认。如果你想知道Vim中使用的Python版本,你可以在编辑器中运行

 :python import sys; print(sys.version)

 

我觉得这里有点小错误, 这里是:

vim a.py
‘’‘
在打开的编辑器窗口输入:
’‘’
import  sys;print(sys.version)

然后输入“:w”后回车再输入":!python %"后回车,像这样:

 当然了,我在这里用的是"!python3 %"。可以看到:

3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170124]

Press ENTER or type command to continue

 在接下来的插件配置里可以把这一个流程用F5快捷键来代替。


2.Vim插件


选择使用Vundle管理插件,git下载Vundle并创建配置文件:

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
touch ~/.vimrc

配置文件内可以如下:

set nocompatible              " required
filetype off                  " required
set backspace=indent,eol,start
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required

随后在shell中输入vim打开vim,输入

:PluginInstall

可以看到正常启用Vundle了:


3.配置


3.1 设置快捷键运行python

在.vimrc文件里加上一句

map <F5> :w<cr>:!python3 %<cr>

之后按F5就会保存并执行python文件了。

3.2 分割布局和buffer

在.vimrc文件里加上

nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>

就可以用ctrl+j\k\l\h\来切换下、上、右、左窗口。

使用

:sv <filename>
命令打开一个文件,你可以纵向分割布局(新文件会在当前文件下方界面打开),使用相反的命令
:vs <filename>
你可以得到横向分割布局(新文件会在当前文件右侧界面打开)。

 buffer缓冲区用":b"来开启,":ls"会显示缓冲区列表。

3.3 显示行号、代码缩进、高亮语法(待解决)

为了更好地支持缩进以及进行高亮,在配置文件里加上:

Plugin 'scrooloose/syntastic'
Plugin 'vim-scripts/indentpython.vim'

然后在vim编辑窗口里“:PluginInstall”安装。

再在配置文件里进行相应配置,例如显示行号:

set number

语法高亮:

待解决

代码缩进(PEP8):

au BufNewFile,BufRead *.py
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79
\ set expandtab
\ set autoindent
\ set fileformat=unix