原文英文地址:https://realpython.com/blog/python/vim-and-python-a-match-made-in-heaven/
原文中文地址:http://www.jianshu.com/p/bc19b91354ef
原作者并没有给出安装 https://github.com/amix/vimrc 的步骤,只是给了一个链接,所以这个首先要配置上,它是别人vim的一个配置。
以下是原作者在~/.vimrc中的设置方法:
au BufNewFile,BufRead *.py
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79
\ set expandtab
\ set autoindent
\ set fileformat=unix
按照步骤设置过程中遇到如下问题:
Error detected while processing BufRead Auto commands for "*.py":
E518: Unknown option: set
原因分析:如果自动缩进的 set 设置有多项并且在多行,每一项后面要用空格加竖线分割|
(最后一项除外)
解决办法网址:http://stackoverflow.com/questions/36741450/vim-setting-error-under-bufread/36742908
最后调整如下:
au BufNewFile,BufRead *.py
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=79 |
\ set expandtab |
\ set autoindent |
\ set fileformat=unix
以下是原作者在~/.vimrc中的设置方法:
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
设置过程中遇到的问题:
E28: No such highlight group name: BadWhitespace
原因分析:提前没有对BadWhitespace
进行声明
解决办法网址:http://stackoverflow.com/questions/11087041/gvim-to-custom-highlight-group-in-vimrc-not-working
最后调整如下:
"Flagging Unnecessary Whitespace
highlight BadWhitespace ctermbg=red guibg=darkred
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
原配置方法:
Bundle 'Valloric/YouCompleteMe'
这段代码要放在~/.vimrc
中的。
安装过程中问题:
ERROR: some folders in /home/jeff/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party are empty; you probably forgot to run:
git submodule update --init --recursive
按问题说明执行:
git submodule update --init --recursive
这个过程比较漫长,要有耐心。也可以按照以下链接安装 http://www.linuxidc.com/Linux/2015-07/120352.htm
原配置方法:
let g:ycm_autoclose_preview_window_after_completion=1
map g :YcmCompleter GoToDefinitionElseDeclaration
这里的leader
是指自己自定义vim组合快捷键的时候的第一个键,原作者是空格键,你要看一下自己的leader
快捷键是哪一个,如果你第一步安装成功了,那么mapleader
应该是逗号,
,然后再用map命令看一下g是否已经被用了
:map
最后我的配置把g 调整成了q:
let g:ycm_autoclose_preview_window_after_completion=1
map q :YcmCompleter GoToDefinitionElseDeclaration
原作者有一段代码如下:
if has('gui_running')
set background=dark
colorscheme solarized
else
colorscheme Zenburn
endif
结果配置过程报错如下:
Error detected while processing /home/jeff/.vimrc:
line 512:
E14: Invalid address
line 513:
E185: Cannot find color scheme 'Zenburn'
这个有点搞笑,最后发现竟然是大小写的原因,把代码中的Zenburn
修改成zenburn
即可。
修改如下:
if has('gui_running')
set background=dark
colorscheme solarized
else
colorscheme zenburn
endif
最终效果如下(前提是对vim命令比较熟悉):