文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

打造vim中的python IDE

2023-01-31 07:15

关注

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

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>l 
  48. map <M-Left> <c-w>h 
  49. map <M-Up> <c-w>k 
  50. map <M-Down> <c-w>j 
  51. imap <M-Right> <ESC><c-w>l 
  52. imap <M-Left> <ESC><c-w>h 
  53. imap <M-Up> <ESC><c-w>k 
  54. imap <M-Down> <ESC><c-w>j 
  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
 

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯