Ubuntu1404: 将VIM打造为一个实用的PythonIDE

时间:2023-02-12 20:31:33

 

  参考:  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>