共计 1661 个字符,预计需要花费 5 分钟才能阅读完成。
1. 文法高亮
为了能在 Vim 中支持 Python 文法需要用到插件 python.vim,该插件默认位于 <Vim 安装目录 >/<$VIMRUNTIME>/syntax/ 下,如果你在该路径下没有找到这个插件,需要到 python.vim : Enhanced version of the python syntax highlighting script 下载。然后为了能让 Vim 识别 Python 文法需要在 vimrc 中添加:
set filetype=python
au BufNewFile,BufRead *.py,*.pyw setf python
2. 缩进
在 vimrc 中添加如下缩进相关的代码:
set autoindent " same level indent
set smartindent " next level indent
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
3. 项目视图
像 Visual Studio 或 Eclipse 之类的 IDE 都会提供项目视图(位于左侧或右侧),程序员利用该视图在文件间或类间跳转。利用 Ctags 和插件 Tasklist 可以在 vim 中实现此功能。
- 首先下载Exuberant Ctags
- 然后解压 Ctags,并进入解压后的目录,利用如下命令编译安装 Ctags:
./configure && sudo make install
- 通过这种方式,Ctags 被安装在 /usr/local/bin 下。接下来在 vimrc 中添加如下命令告诉 Vim Ctags 的安装路径:
let Tlist_Ctags_Cmd='/usr/local/bin/ctags'
- 接着安装 Tasklist 插件:下载TaskList.vim, 然后把它放入 plugin 目录下
- 最后使用命令:TlistToggle 打开 taglist 窗口,下图展示了该窗口。
4.MiniBufExplorer
在 Visual Studio 或 Eclipse 中你打开的缓存会以 tab 的形式列在窗口的顶端或底部,在 Vim 中插件 MiniBufExplorer 来实现此功能。下载 minibufexpl.vim 并将其放在 plugin 目录下。接着在 vimrc 中添加如下命令:
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
下图展示了 MiniBufExplorer 的使用效果:
5.Omnicompletion
Vim7 中添加了对文法提示和自动完成的支持,对于 python 来说需下载 pythoncomplete.vim 并将其放在 <Vim 安装目录 >/<$VIMRUNTIME>/autoload/ 目录下,接着在 vimrc 中添加如下命令:
filetype plugin on
set ofu=syntaxcomplete#Complete
autocmd FileType python set
omnifunc=pythoncomplete#Complete
autocmd FileType python runtime! autoload/pythoncomplete.vim
最后在编写代码时通过 ctrl-x ctrl- o 来打开文法提示上下文菜单,如下图所示:
参考文献
1.http://www.swaroopch.com/notes/Vim
2.http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/
3.http://www.phacks.net/macvim-code-completion-syntax-highlighting-for-python-pyqt4-twisted-on-mac-osx-snow-leopard/
4.http://vim.wikia.com/wiki/Omni_completion
