Ubuntu1404: 将VIM打造为一个实用的PythonIDE
参考: http://www.tuicool.com/articles/ZRv6Rv
说明: 内容非原创, 主要是做了整合和梳理。 在 ubuntu14.04 & debian 8 下测试通过
安装验证&使用:
# usage shortcut : # type za to open and close a fold # Vertical Split : Ctrl+w + v # Horizontal Split: Ctrl+w + s # Close current windows: Ctrl+w + q # Ctrl+h move to left window # Ctrl+l move to right window # Ctrl+j move to down window # Ctrl+k move to up window # def<tab> auto stub out a method definition # type \td show TODO or FIXME in code # type \g show the diff you have done in code # type TAB show code completion tip # type \t show files in list mode # type \n show files of project in tree mode # type \8 check pep8 style
步骤:
sudo apt-get install python-setuptools sudo easy_install pip sudo apt-get install pep8 sudo apt-get install vim-nox sudo apt-get install build-essential openssl libreadline6 libreadline6-dev \ curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev \ sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake \ libtool bison subversion nodejs curl -L https://get.rvm.io | bash -s stable --ruby sudo apt-get install ruby-dev ruby echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc ruby -v vim --version | grep ruby mkdir ~/.vim/ mkdir ~/.vim/{autoload,bundle} cd ~/.vim/ git init curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim git submodule add http://github.com/tpope/vim-fugitive.git bundle/fugitive git submodule add https://github.com/msanders/snipmate.vim.git bundle/snipmate git submodule add https://github.com/tpope/vim-surround.git bundle/surround git submodule add https://github.com/tpope/vim-git.git bundle/git git submodule add https://github.com/ervandew/supertab.git bundle/supertab git submodule add https://github.com/wincent/Command-T.git bundle/command-t git submodule add https://github.com/mitechie/pyflakes-pathogen.git bundle/pyflakes git submodule add https://github.com/mileszs/ack.vim.git bundle/ack git submodule add https://github.com/sjl/gundo.vim.git bundle/gundo git submodule add https://github.com/fs111/pydoc.vim.git bundle/pydoc git submodule add https://github.com/vim-scripts/pep8.git bundle/pep8 git submodule add https://github.com/alfredodeza/pytest.vim.git bundle/py.test git submodule add https://github.com/reinh/vim-makegreen bundle/makegreen git submodule add https://github.com/vim-scripts/TaskList.vim.git bundle/tasklist git submodule add https://github.com/vim-scripts/The-NERD-tree.git bundle/nerdtree git submodule init git submodule update git submodule foreach git submodule init git submodule foreach git submodule update cd ~/.vim/bundle/command-t/ sudo apt-get install rake rake make mkdir ~/.vim/snippets vim ~/.vim/snippets/python.snippets snippet pdb import pdb; pdb.set_trace()
Vim 配置: vim ~/.vimrc
filetype off
execute pathogen#infect()
set foldmethod=indent
set foldlevel=99
syntax on
filetype on
filetype plugin indent on
let g:pyflakes_use_quickfix = 0
let g:pep8_map='<leader>8'
au FileType python set omnifunc=pythoncomplete#Complete
let g:SuperTabDefaultCompletionType = "context"
set completeopt=menuone,longest,preview
map <leader>n :NERDTreeToggle<CR>
map <leader>j :RopeGotoDefinition<CR>
map <leader>r :RopeRename<CR>
nmap <leader>a <Esc>:Ack!
map <c-j> <c-w>j
map <c-k> <c-w>k
map <c-l> <c-w>l
map <c-h> <c-w>h
map <leader>td <Plug>TaskList
map <leader>g :GundoToggle<CR>
set statusline+=%{exists('g:loaded_fugitive')?fugitive#statusline():''}
" Execute the tests
nmap <silent><Leader>tf <Esc>:Pytest file<CR>
nmap <silent><Leader>tc <Esc>:Pytest class<CR>
nmap <silent><Leader>tm <Esc>:Pytest method<CR>
" cycle through test errors
nmap <silent><Leader>tn <Esc>:Pytest next<CR>
nmap <silent><Leader>tp <Esc>:Pytest previous<CR>
nmap <silent><Leader>te <Esc>:Pytest error<CR>

浙公网安备 33010602011771号