• 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 	d show TODO or FIXME in code
    # type g show the diff you have done in code
    # type TAB show code completion tip
    # type 	 show files in list mode
    # type 
     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>
  • 相关阅读:
    threejs学习笔记01
    vue.nextTick()----(转)
    vue过滤器---123过滤成一二三
    太懒了,八百年没更新了。。。
    ie上 th td边框不显示
    简案快审----pdf.js使用总结
    201707问题记录
    echarts使用总结
    linux常见漏洞利用技术实践
    remote KG
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/4620068.html
Copyright © 2020-2023  润新知