安装说明:参考 Martin Brochhaus 的视频
# form http://mercurial.selenic.com/downloads
# download and install mercurial for mac
# install fink
cd ~
# hg clone using proxy
hg --config http_proxy.host=ipOfYourProxyServer:portOfYourProxyServer --config http_proxy.user=user --config http_proxy.passwd=password clone https://vim.googlecode.com/hg/ vim
./configure --enable-pythoninterp --with-features=huge --prefix=$HOME/opt/vim
sudo make && sudo make install
cd /usr/bin/
sudo mv vim vim.bak
sudo ln -s $HOME/opt/vim/bin/vim
sudo mv vimdiff vimdiff.bak
sudo ln -s $/HOME/opt/vim/bin/vimdiff
sudo mv vimtutor vimtutor.bak
sudo ln -s $/HOME/opt/vim/bin/vimtutor
vim --version | grep python
#install pathogen
mkdir -p ~/.vim/bundle ~/.vim/autoload
curl -Sso ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
cd ~/.vim/bundle/
git clone git://github.com/Lokaltog/vim-powerline.git
git clone https://github.com/kien/ctrlp.vim.git
git clone https://github.com/klen/python-mode
#install wget
mkdir -p ~/.vim/ftplugin
wget -O ~/.vim/ftplugin/python_editing.vim http://www.vim.org/scripts/download_script.php?src_id=5492
以下内容为.vimrc
"set guifont=courier_new:h18
set number
set tabstop=4
set softtabstop=4
set shiftwidth=4
set shiftround
set expandtab
set smartindent
set ignorecase
set smartcase
colorscheme murphy
syntax on
nmap gO O<ESC>j
nmap g<C-O> o<ESC>k
set cursorline cul
cnoremap <expr> %% getcmdtype() == ':' ? expand('%:h').'/' : '%%'
set shiftwidth=4 softtabstop=4 expandtab
"Automatic reloading of .vimrc
autocmd! bufwritepost .vimrc source %
" Mouse
set mouse=a
"Rebind <Leader> key
let mapleader=","
"setup pathogen
call pathogen#infect()
"setting for power-line
set laststatus=2
"settings for ctrlp
let g:ctrlp_max_height=30
set wildignore+=*.pyc
set wildignore+=*_buld/*
set wildignore+=*/coverage/*
"settings for python-mode
let ropevim_enable_shotcuts = 1
let g:pymode_rope_goto_def_newwin = "vnew"
let g:pymode_rope_extended_complete = 1
let g:pymode_breakpoint = 0
let g:pymode_syntax = 1
let g:pymode_syntax_builtin_objs = 0
let g:pymode_syntax_builtin_funcs = 0
map <Leader>b Oimport ipdb; ipdb.set_trace() # BREAKPOINT<C-c>
"better navigating through omnicomplete option list
set completeopt=longest,menuone
function! OmniPopup(action)
if pumvisible()
if a:action == 'j'
return "\<C-N>"
elseif a:action == 'k'
return "\<C-P>"
endif
endif
return a:action
endfunction
"python folding
set nofoldenable