Linux VIM8.1 Python3 编辑器配置文件

实现功能:

  • 自动补全(包括函数模块方法补全)
  • 自动代码标准格式化
  • 自动检查代码错误
  • 自定义头文件
  • 自动括号补全
  • 缩进指示线
  • 代码一键折叠
  • 代码一键执行
  • 图形化断点调试
  • 分屏终端导入调试
  • 分屏目录窗口
  • 美化主题窗口栏位
  • 指向查找目录文件
  • 终端浏览器

.vimrc 配置文件:

  1. """"""""""""""""""""""""""""""""""""""""""""""""""""
  2. "
  3. " - kevin -
  4. "
  5. "---------------------简单配置------------------------
  6. set nocompatible "关闭与vi的兼容模式
  7. set number "显示行号
  8. set nowrap "不自动折行
  9. set showmatch "显示匹配的括号
  10. set scrolloff= "距离顶部和底部3行"
  11. set encoding=utf- "编码
  12. set fenc=utf- "编码
  13. "set mouse=a "启用鼠标
  14. set hlsearch "搜索高亮
  15. syntax on "语法高亮
  16. set backspace=indent,eol,start "启动删除设置"
  17.  
  18. "-------------------------Debugger调试器F1----------------------------
  19.  
  20. let g:sendtorepl_invoke_key = "f" "传送代码快捷键,默认为<leader>w
  21. let g:repl_position = "0表示出现在下方,1表示出现在上方,2在左边,3在右边
  22. let g:repl_stayatrepl_when_open = "打开REPL时是回到原文件(1)还是停留在REPL窗口中(0
  23. let g:repl_checkpoint_position = '~/.temp/'
  24. let g:repl_auto_sends = ['class ', 'def ']
  25. let g:repl_cursor_down =
  26.  
  27. let g:repl_program = {
  28. \ "python": "python3",
  29. \ "default": "bash"
  30. \ }
  31.  
  32. let g:repl_exit_commands = {
  33. \ "python": "quit()",
  34. \ "bash": "exit",
  35. \ "zsh": "exit",
  36. \ "default": "exit",
  37. \ }
  38.  
  39. "------------为py文件添加支持pep8风格的配置-------------
  40. au BufNewFile,BufRead *.py
  41. \ set tabstop= "tab宽度
  42. \ set softtabstop=
  43. \ set shiftwidth=
  44. \ set textwidth= "行最大宽度
  45. \ set expandtab "tab替换为空格键
  46. \ set autoindent "自动缩进
  47. \ set fileformat=unix "保存文件格式
  48.  
  49. "-------分隔窗口将新窗口再右边或者下方打开,添加配置-----
  50. set splitbelow
  51. set splitright
  52.  
  53. "分割窗口参数
  54. ":vs 或者 :vsplit 将当前窗口竖直分割,并在上面新窗口中显示当前文件
  55. ":vs filename 将当前窗口竖直分割,新文件在新窗口中显示
  56. ":sp 或者:sv或者:split 将当前窗口水平分割,并在左边新窗口中显示当前文件
  57. ":sp filename 将当前窗口竖直分割,新文件在左边新窗口中显示
  58. ":new 新建文件并竖直分割
  59. ":vnew 新建文件并水平分割
  60.  
  61. "--------------添加头文件信息-------------------
  62. function HeaderPython()
  63. call setline(, "#!/usr/bin/env python")
  64. call append(, "# -*- coding: utf-8 -*-")
  65. call append(, "# @Time: " . strftime('%Y-%m-%d %T', localtime()))
  66. call append(, "# @Author: xiangsikai")
  67. call append(, "# ############# 调试器 ############## #")
  68. call append(, "# from pudb import set_trace;set_trace()#")
  69.  
  70. normal G
  71. normal o
  72. normal o
  73. endf
  74. autocmd bufnewfile *.py call HeaderPython()
  75.  
  76. "--------------代码折叠配置-----------------------
  77. set foldmethod=indent
  78. set foldlevel=
  79.  
  80. "使用zc按键来创建折叠,使用za来打开或者关闭折叠。
  81. "za经常会误输入,空格快捷键来替代za:
  82. nnoremap <space> za
  83.  
  84. "--------------一键执行python代码配置--------------
  85. "按 F4 执行代码
  86. map <F4> :call RunPython()<CR>
  87. func! RunPython()
  88. exec "W"
  89. if &filetype == 'python'
  90. exec "!time python3 %"
  91. endif
  92. endfunc
  93.  
  94. "-----------------Vundle 插件----------------------
  95. set nocompatible " be iMproved, required
  96. filetype off " required
  97. set rtp+=~/.vim/bundle/Vundle.vim
  98. call vundle#begin()
  99. "--------------------------------------------------
  100. " 使用:PluginInstall下载下面的插件
  101. "--------------------------------------------------
  102. "
  103. " 其他:常用命令 ↓
  104. "
  105. " :PluginList - 列表配置插件
  106. " :PluginInstall - 装的插件;添加”!“
  107. " :PluginUpdate - 更新
  108. " :PluginSearch foo - 搜索foo;添加”!来刷新本地缓存
  109. " :PluginClean - 确认移除未使用的插件;添加”!”
  110. "
  111. "-----let Vundle manage Vundle, required-----------
  112. Plugin 'VundleVim/Vundle.vim'
  113.  
  114. "Debugger调试器F1
  115. Plugin 'sillybun/vim-repl'
  116. autocmd FileType python map <buffer> <F1> :REPLToggle<CR>
  117.  
  118. "YCM自动补全
  119. Plugin 'Valloric/YouCompleteMe'
  120.  
  121. "vim8自动补全插件
  122. Plugin 'maralla/completor.vim'
  123. let g:completor_python_binary = '/usr/bin/python3'
  124.  
  125. "vim8自动缩进插件
  126. Plugin 'vim-scripts/indentpython.vim'
  127.  
  128. "vim8语法检查插件
  129. Plugin 'vim-syntastic/syntastic'
  130. "vim8添加flake8代码风格检查
  131. Plugin 'nvie/vim-flake8'
  132. " F2启用代码检查
  133. autocmd FileType python map <buffer> <F2> :call Flake8()<CR>
  134. "保存文件时显示错误
  135. "autocmd BufWritePost *.py call flake8#Flake8()
  136.  
  137. "配色方案1 vundle下载
  138. Plugin 'altercation/vim-colors-solarized'
  139. "light or dark 两种配色主题
  140. syntax enable
  141. set background=light
  142.  
  143. "树形目录
  144. Plugin 'scrooloose/nerdtree'
  145. "树形目录快捷键 ctrl + n
  146. map <C-n> :NERDTreeToggle<CR>
  147. "设置忽略文件
  148. let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']
  149. "nerdtree添加git支持
  150. Plugin 'Xuyuanp/nerdtree-git-plugin'
  151. "如果你想用tab键
  152. Plugin 'jistr/vim-nerdtree-tabs'
  153.  
  154. "美化栏
  155. Plugin 'Lokaltog/vim-powerline'
  156.  
  157. "缩进指示线 | 开关:IndentLinesToggle
  158. Plugin 'Yggdroot/indentLine'
  159.  
  160. "自动格式化工具 | 运行:Autopep8 |效果自动一招pep8标准自动格式化代码
  161. Plugin 'tell-k/vim-autopep8'
  162. "设置快捷键F3代替:Autopep8
  163. autocmd FileType python noremap <buffer> <F3> :call Autopep8()<CR>
  164.  
  165. "自动补全括号引号等
  166. Plugin 'jiangmiao/auto-pairs'
  167.  
  168. "搜索插件 | ctrl+p 然后输入你要寻找的文件就行了
  169. Plugin 'kien/ctrlp.vim'
  170.  
  171. "搜索引擎使用了 the_silver_searcher
  172. "使用:Ag [options] {pattern} [{directory}]
  173. Plugin 'rking/ag.vim'
  174.  
  175. "git集成插件 | vim内运行git命令
  176. Plugin 'tpope/vim-fugitive'
  177.  
  178. "其他模块
  179. Plugin 'tomasr/molokai'
  180. Plugin 'vim-scripts/phd'
  181. Plugin 'vim-airline/vim-airline'
  182. Plugin 'vim-airline/vim-airline-themes'
  183. Plugin 'octol/vim-cpp-enhanced-highlight'
  184. Plugin 'derekwyatt/vim-fswitch'
  185. Plugin 'vim-scripts/a.vim'
  186. Plugin 'kshenoy/vim-signature'
  187. Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines'
  188. Plugin 'majutsushi/tagbar'
  189. Plugin 'vim-scripts/indexer.tar.gz'
  190. Plugin 'vim-scripts/DfrankUtil'
  191. Plugin 'vim-scripts/vimprj'
  192. Plugin 'dyng/ctrlsf.vim'
  193. Plugin 'vim-scripts/DrawIt'
  194. Plugin 'SirVer/ultisnips'
  195. Plugin 'rdnetto/YCM-Generator'
  196. Plugin 'derekwyatt/vim-protodef'
  197. "Plugin 'gcmt/wildfire.vim' "视图模式多选
  198. Plugin 'sjl/gundo.vim'
  199. Plugin 'Lokaltog/vim-easymotion'
  200. Plugin 'suan/vim-instant-markdown'
  201. Plugin 'qpkorr/vim-bufkill'
  202. Plugin 'skywind3000/asyncrun.vim'
  203.  
  204. "--------------------------------------------
  205. call vundle#end() " required
  206. filetype plugin indent on " required
  207. "--------------------------------------------

Linux VIM8.1 Python3 编辑器配置文件的更多相关文章

  1. linux centos7安装python3

    折腾 Python官网: https://www.python.org/ 查看相关评论,众人大呼python2与python3为两种语言,既然继承性不大,那我也就直接学python3了. 在系统选择, ...

  2. 新手指南:Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  3. Linux Shell编程与编辑器使用详解

    <Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...

  4. linux操作之文本编辑器

    1.文本编辑器的作用 编辑和修改系统中的那些以文本形式存在的文件(特别是各种配置文件),也可以用于 编写程序代码 2.linux下的常见编辑器 nano.Emacs.gedit.vim等 3.vim三 ...

  5. linux系统之-vi编辑器

    在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率.那么vi编辑器的使用方法有哪些呢? vi编辑器可在绝大部分linux发行版中使用. Vi编辑器的作用:创建或修改文件:维护li ...

  6. linux中安装python3.7

    linux中安装python3.7 1. 安装依赖包 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite- ...

  7. Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  8. Linux下的sudo及其配置文件/etc/sudoers的详细配置说明

    http://www.osedu.net/article/linux/2011-01-03/178.html Linux下的sudo及其配置文件/etc/sudoers的详细配置说明 1.sudo介绍 ...

  9. Linux下安装Python3.3.0

    Linux下安装Python3.3.0_路易_新浪博客 Linux下安装Python3.3.0 (2013-01-08 11:45:37)

随机推荐

  1. VUE--v-on修饰符

    1.v-on的修饰符 .stop:阻止事件冒泡 <div @click="getTitle"> 阿Q <button @click="getBut&qu ...

  2. elasticsearch查询所有数据restful api以及java代码实现

    原文:http://blog.java1234.com/blog/articles/366.html restful api实现如下: get http://192.168.1.111:9200/fi ...

  3. es更新说明(dsl)

    一.旧版elasticsearch-dsl 很多同学在python搜索引擎视频中关于看到的第十章elasticsearch使用中使用python创建mapping老师使用的以下代码,这些代码对于ela ...

  4. java基本类型的长度

    bit:位,一个二进制数据(0或者1),是1bit byte:字节,存储空间的基本单位,1byte=8bit 一个英文占一个字节,1字母=1byte=8bit 一个中文占两个字节,1汉字=2byte= ...

  5. TP框架命令行操作

    cmd进入到tp项目根目录 php think route:list #查看以定义路由 php think version #框架版本 php think list #指令列表 php think h ...

  6. 24-C#笔记-异常处理

    # 1 语法 try catch finally(相当于catch(...)) using System; ... public void division(int num1, int num2) { ...

  7. JAVA并发-同步器AQS

    什么是AQS aqs全称为AbstractQueuedSynchronizer,它提供了一个FIFO队列,可以看成是一个用来实现同步锁以及其他涉及到同步功能的核心组件,常见的有:ReentrantLo ...

  8. MVC Core 使用TagHelper扩展几个插件

    未完待续... 案例1:按钮权限校验,无权限不显示,利用TagHelper控制元素是否输出 [HtmlTargetElement("tc-permission", TagStruc ...

  9. Echarts在同一网页按顺序展示多图

    Echarts Page:同一网页按顺序展示多图 from pyecharts import Page page = Page("") page.add(pie).add(frie ...

  10. 【转】AVL之C++实现

    AVL树的介绍 AVL树是高度平衡的而二叉树.它的特点是:AVL树中任何节点的两个子树的高度最大差别为1. 上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1:而右边的不 ...