zoukankan      html  css  js  c++  java
  • 将VIM打造为python IDE

    1、编译安装VIM

        gvim7.3是支持python的,但vim7.3却没有,因此要编译安装vim源代码来增加python的支持。

         (1)安装依赖

        1.安装前要先用 apt-get install python-dev 安装python-dev 包,否则在make VIM源码时会报

        error: Python.h: No such file or directory

        的错误。

        安装完python-dev 包后,/usr/lib/python2.6/config 下就会增加了很多文件

         2.安装libncurses5-dev

    apt-get install libncurses5-dev

         3.安装xorg-dev(clipboard的支持需要)、libgtk2.0-dev(clipboard的支持需要,貌似不装也可以)

      apt-get install xorg-dev

    apt-get install libgtk2.0-dev

        (2)修改Makefile文件

        下载vim 7.3 源码,解压后转到vim-7.3/src目录下,打开Makefile,找到以下行:

     #CONF_OPT_PYTHON = --enable-pythoninterp

        把#号去掉以便编译时在vim里启用python

        (3)运行configure

        解压vim源码后,进入vim7.3/src 目录,运行:

     ./configure --with-features=huge  --enable-multibyte --enable-xim --with-x --enable-pythoninterp=yes --enable-cscope --enable-fontset --enable-perlinterp   --with-python-config-dir=/usr/lib/python2.6/config  

         然后make && make install

    2、安装ctags插件

       (1) 解压源码后执行

    ./configure && make && make install

        (2)编辑~/.vimrc,加入以下行

    set tags=tags;
    set autochdir

    3、安装taglist插件

        (1)解压源码后,将doc及plugin文件夹分别放到vim73下的doc及plugin中

        (2)编辑~/.vimrc,加入以下行

    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1
    let Tlist_Process_File_Always=1

    4、安装winmanager插件

        (1)解压源码后,将doc及plugin文件夹分别放到vim73下的doc及plugin中

        (2)编辑~/.vimrc,加入以下行

    let g:winManagerWindowLayout='FileExplorer|TagList'
    nmap wm :WMToggle<cr>
    let g:persistentBehaviour=0

    5、安装MiniBufferExplorer插件

        (1)解压源码后,将minibufexpl.vim放到vim73下的plugin中

        (2)编辑~/.vimrc,加入以下行

    let g:miniBufExplMapCTabSwitchBufs=1
    let g:miniBufExplMapWindowsNavVim=1
    let g:miniBufExplMapWindowNavArrows=1
    let g:miniBufExplorerMoreThanOne=0

    6、安装pydiction插件

        (1)解压源码后,将里面的python_pydiction.vim、complete-dict、pydiction.py文件复制到 ~/.vim/after/ftplugin/ 路径下,如果这个路径不存在,可以自己创建这个文件夹结构。

        (2)编辑~/.vimrc,加入以下行

    let g:pydiction_location = '~/.vim/after/ftplugin/complete-dict'
    autocmd FileType py set shiftwidth=4 | set expandtab

    7、安装pyflakes插件

        (1)解压源码后把pyflakes.vim文件和pyflakes目录拷贝到ftplugin\python目录中

    8、安装vim-debug插件

        (1)安装setuptools (安装pip要用到)

    wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
    tar zxvf setuptools-0.6c11.tar.gz
    cd setuptools-0.6c11
    python setup.py build
    python setup.py install

        (2)下载pip-1.2.1.tar.gz,解压后执行:

     python setup.py install

        (3)下载vim-debug(http://jaredforsyth.com/projects/vim-debug/),执行:

    pip install dbgp

    pip install vim-debug

    python install-vim-debug.py

        (4)编辑~/.vimrc,加入以下快捷键

    map <F5> :Dbg into<CR>
    map <F6> :Dbg over<CR>
    map <F7> :Dbg out<CR>
    map <F8> :Dbg run<CR>
    map <F9> :Dbg break<CR>
    map <F10> :Dbg eval<CR>
    map <F11> :Dbg .<CR>
    map <F12> :Dbg quit<CR>

    附上~/.vimrc文件:

    source $VIMRUNTIME/vimrc_example.vim
    set diffexpr=MyDiff()
    function MyDiff()
      let opt = '-a --binary '
      if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
      if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
      let arg1 = v:fname_in
      if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
      let arg2 = v:fname_new
      if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
      let arg3 = v:fname_out
      if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
      let eq = ''
      if $VIMRUNTIME =~ ' '
        if &sh =~ '\<cmd'
          let cmd = '""' . $VIMRUNTIME . '\diff"'
          let eq = '"'
        else
          let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
        endif
      else
        let cmd = $VIMRUNTIME . '\diff'
      endif
      silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
    endfunction

    set nocompatible
    filetype plugin on
    colorscheme lucius
    set number
    syntax on 
    syntax enable
    set autoindent
    set smartindent
    set t_Co=256
    " 输入字符串就显示匹配点  

    set incsearch   

    """"""""""""""""""""""""""""  
    "      PEP8     "  
    """"""""""""""""""""""""""""
    :set textwidth=79

    :set tabstop=4 

    """""""""""""""""""""""""""" 
    "      keys      " 
    """"""""""""""""""""""""""""
    map <F4> :q!<cr>
    map <F3> :qa<cr>
    """""""""""""""""""""""""""" 
    "    pydiction   " 
    """"""""""""""""""""""""""""
    let g:pydiction_location = '~/.vim/ftplugin/complete-dict'
    "在代码使用4个空格代替TAB符 
    autocmd FileType py set shiftwidth=4 | set expandtab


    """""""""""""""""""""""""""" 
    "    CTags   " 
    """"""""""""""""""""""""""""
    set tags=tags;
    set autochdir
    """""""""""""""""""""""""""" 
    "     TagList   " 
    """"""""""""""""""""""""""""
    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1
    let Tlist_Process_File_Always=1
    """""""""""""""""""""""""""" 
    "     WinManager   " 
    """"""""""""""""""""""""""""
    let g:winManagerWindowLayout='FileExplorer|TagList'
    nmap wm :WMToggle<cr>
    let g:persistentBehaviour=0
    """""""""""""""""""""""""""" 
    "     MiniBufferExplorer   " 
    """"""""""""""""""""""""""""
    let g:miniBufExplMapCTabSwitchBufs=1
    let g:miniBufExplMapWindowsNavVim=1
    let g:miniBufExplMapWindowNavArrows=1
    let g:miniBufExplorerMoreThanOne=0
    """""""""""""""""""""""""""" 
    "    vim-debug   " 
    """"""""""""""""""""""""""""
    map <F5> :Dbg into<CR>
    map <F6> :Dbg over<CR>
    map <F7> :Dbg out<CR>
    map <F8> :Dbg run<CR>
    map <F9> :Dbg break<CR>
    map <F10> :Dbg eval<CR>
    map <F11> :Dbg .<CR>
    map <F12> :Dbg quit<CR>

  • 相关阅读:
    Nginx Backup配置
    CANas分析软件,DBC文件解析,CAN报文分析,仿CANoe曲线显示
    MySQL 报错:MySQL Illegal mix of collations for operation 'like'
    docker部署rebbitmq
    docker部署kafka
    nodejs 环境配置
    spring是怎么运行的?
    Java发展的时间表
    单例模式(转)
    disable的错误使用
  • 原文地址:https://www.cnblogs.com/children/p/2911304.html
Copyright © 2011-2022 走看看