打造vim中的python IDE

发布时间:2019-09-21 10:51:44编辑:auto阅读(1999)

     首先先介绍几个常用的插件:

    1,ctags和taglist,这个大家估计都很常用,在ubuntu下只要安装exuberant-ctags即可啦,另外tagbar支持面向对象语言的展示

     

    1. " toggle Tagbar display 
    2.  
    3. map <F4> :TagbarToggle<CR> 
    4.  
    5. " autofocus on Tagbar open 
    6.  
    7. let g:tagbar_autofocus = 1  

     

    这样的话,只需按下f4就会弹出taglist窗口,默认是打开。

    2,pydoc.vim 在vim中查找python文档,这个相当管用,你可以调用Pydoc <keyword>,也可以当光标停在某个关键词的位置时,按下K就能弹出文档,设置pydoc的执行路径如下,后面的路径和你的执行pydoc命令的环境有关

    1. let g:pydoc_cmd = '/usr/bin/pydoc2.4' 

    3,pyflakes.vim 支持python实时语法检查, 输入 ‘:cc’ 定位语法错误,确保.vimrc中设置了

    1. filetype plugin indent on 

    另外这个只支持python2.5以上的版本,这个比较坑爹

    4,nerd_tree.vim vim中的文件浏览器,我做了一个映射,只需按下F3就可弹出当前目录下文件结构

    1. " NERDTree (better file browser) toggle 
    2. map <F3> :NERDTreeToggle<CR> 

    5,自动补全,AutoComplPop 支持直接pop,在输入代码的同时给予提示,但是vim版本必须是vim 7.2以上,另外支持自动补全比较好的就是pydiction.vim,比系统自带自动补全强大多了,支持tab补全,这家伙有3个组成部分。一个是插件本身python_pydiction.vim,另外一个是生成diction文件的python脚本pydiction.py,最后是一个自带的complete-dict文件

    6,python调试,vim-debug 这个依赖于系统的vim-debug模块,支持交互式调试,设置断点,跳出跳进函数,支持查看栈和变量,我的配置:

    1. " debugger keyboard shortcuts 
    2. map <F5> :Dbg over<CR> 
    3. map <F6> :Dbg into<CR> 
    4. map <F7> :Dbg out<CR> 
    5. map <F8> :Dbg here<CR> 
    6. map <F9> :Dbg break<CR> 
    7. map <F10> :Dbg watch<CR> 
    8. map <F11> :Dbg down<CR> 
    9. map <F12> :Dbg up<CR> 

    7,conque_term 提供在vim中打开终端的功能,非常有用,可以vim buffer中执行python 命令(:ConqueTerm shell )也可执行bash命令(:ConqueTerm bash) 

     

    接下来,我们再来分析下.vimrc文件,贴部分配置:

    1. "不使用vi兼容模式 
    2. set nocompatible 
    3. " allow plugins by file type
    4. filetype plugin on 
    5. filetype indent on 
    6.  
    7. " tabs and spaces handling 
    8. "使用扩展tab,即所有tab都是空格组成 
    9. set expandtab 
    10. set tabstop=4 
    11. "插入模式下tab代表空格数 
    12. set softtabstop=4 
    13. "使用shift+>移动空格数 
    14. set shiftwidth=4 
    15.  
    16. " always show status bar 
    17. set ls=2 
    18.  
    19. " incremental search 
    20. set incsearch 
    21.  
    22. " highlighted search results 
    23. set hlsearch 
    24.  
    25. " line numbers 
    26. set nu 
    27.  
    28. " toggle Tagbar display 
    29. map <F4> :TagbarToggle<CR> 
    30. " autofocus on Tagbar open 
    31. let g:tagbar_autofocus = 1 
    32.  
    33. " 调用F3,显示文件树 
    34. map <F3> :NERDTreeToggle<CR> 
    35.  
    36. " tab导航,tt表示新开一个tab页,tn下一个tab页,tp上一个tab页,tm最后一个tab页 
    37. map tn :tabn<CR> 
    38. map tp :tabp<CR> 
    39. map tm :tabm<CR> 
    40. map tt :tabnew 
    41. map <C-S-Right> :tabn<CR> 
    42. imap <C-S-Right> <ESC>:tabn<CR> 
    43. map <C-S-Left> :tabp<CR> 
    44. imap <C-S-Left> <ESC>:tabp<CR> 
    45.  
    46. " 支持alt+方向键在各个口中切换 
    47. map <M-Right> <c-w>
    48. map <M-Left> <c-w>
    49. map <M-Up> <c-w>
    50. map <M-Down> <c-w>
    51. imap <M-Right> <ESC><c-w>
    52. imap <M-Left> <ESC><c-w>
    53. imap <M-Up> <ESC><c-w>
    54. imap <M-Down> <ESC><c-w>
    55. " 当鼠标滚动的时候,鼠标一直在倒数第三行的位置 
    56. set scrolloff=3 
    57.  
    58. "执行python文件运行E即可 map <buffer> <S-e> :w<CR>:!/usr/bin/env python % <CR>

    贴个照片:

     

    参考文献:https://github.com/fisadev/fisa-vim-config
     

     

关键字