Linux命令行界面中,最常用的编辑器当然是Vim了。Vim编辑器无处不在,速度快,从来不会崩溃。并且,它能做编辑任何文本文件!初学者会觉得,vim写程序会比较麻烦,不像Windows系统IDE工具那么智能。但是,vim丰富的插件会让vim找到IDE的感觉。
首先,安装Vundle
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
记得一定放在 .vim/bundle/目录下。
配置文件添加到用户的主目录文件夹中(假设没有.vimrc):
touch ~/.vimrc
下面把Vundle配置放在.vimrc文件最上面。
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
call vundle#end()
filetype plugin indent on
使用Vundle前的设置完成。然后,可以在配置文件中添加希望安装的插件(比如上面的‘gmarik/Vundle.vim’)。打开Vim编辑器,运行下面的命令:
:PluginInstall
如上图所示,安装插件成功。
编写代码时候,需要可以自动缩进且正常工作。Vim的自带功能无法满足,因为它实现不了定义函数之后的自动缩进。一般来说,希望Vim中的缩进能做到以下两点:
首先,缩进要符合PEP8标准。
其次,更好地处理自动缩进。
PEP8
要支持PEP8风格的缩进,请在.vimrc
文件中添加下面的代码:
au BufNewFile,BufRead *.py
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79
\ set expandtab
\ set autoindent
\ set fileformat=unix
这些设置将让Vim中的Tab键就相当于4个标准的空格符,确保每行代码长度不超过80个字符,并且会以unix格式储存文件,避免在推送到Github或分享给其他用户时出现文件转换问题。
另外,对于全栈开发,可以设置针对每种文件类型设置au
命令:
au BufNewFile,BufRead *.js, *.html, *.css
\ set tabstop=2
\ set softtabstop=2
\ set shiftwidth=2
自动缩进
自动缩进有用,但是在某些情况下(比如函数定义有多行的时候),并不总是会达到你想要的效果,尤其是在符合PEP8标准方面。我们可以利用indentpython.vim插件,来解决这个问题:
Plugin 'vim-scripts/indentpython.vim'
大部分情况下,进行Python开发时你应该使用UTF-8编码,尤其是使用Python 3的时候。确保Vim设置文件中有下面的命令:
set encoding=utf-8
支持Python自动补全的最好插件是YouCompleteMe。我们再次使用Vundle安装:
Bundle 'Valloric/YouCompleteMe'
通过安装syntastic插件,每次保存文件时Vim都会检查代码的语法:
Plugin 'scrooloose/syntastic'
还可以通过这个小巧的插件,添加PEP8代码风格检查:
Plugin 'nvie/vim-flake8'
最后,让你的代码变得更漂亮:
let python_highlight_all=1
syntax on
配色方案可以和你正在使用的基础配色共同使用。GUI模式可以尝试solarized方案, 终端模式可以尝试Zenburn方案:
Plugin 'jnurmine/Zenburn'
Plugin 'altercation/vim-colors-solarized'