一. Gvim简介

  Gvim的G指的是GUI,也就是图形化界面。相当于在vim包了一层图形化界面,相比之下gvim拥有更丰富的颜色和字体,还有菜单和滚动条,以及更友好的鼠标操作等,除此之外和vim并无太大差异.这里就不再详细说下载和安装过程.

  安装好gvim后,用它随便打开一个文件在命令模式下输入:version查看,注意python或python3前边应该是+,说明已经支持python环境,这里只说python3.6的配置.

 二. _vimrc配置

set pythonthreedll=python36.dll "设置支持3.6,原gvim可能只支持python3.7
"隐藏菜单栏
set guioptions-=m
set guioptions-=T
map <silent> <F2> :if &guioptions =~# 'T' <Bar>
\set guioptions-=T <Bar>
\set guioptions-=m <bar>
\else <Bar>
\set guioptions+=T <Bar>
\set guioptions+=m <Bar>
\endif<CR> """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 编码设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set langmenu=zh_CN.UTF-8
set helplang=cn
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030 source $VIMRUNTIME/delmenu.vim "导入删除菜单脚本,删除乱码的菜单
source $VIMRUNTIME/menu.vim "导入正常的菜单脚本
language messages zh_CN.utf-8 "设置提示信息语言 syntax on "语法高亮 " 缓存设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nobackup "设置不备份
set noswapfile "禁止生成临时文件
set autoread "文件在vim之外修改过,自动重新载入
set autowrite "设置自动保存
set confirm "在处理未保存或只读文件时,弹出确认 set number "设置行号
set relativenumber "行号
map <F5> :source $HOME/_vimrc<CR> " 配色方案
let g:molokai_original=1
let g:rehash256=1
colorscheme evening set guifont=DejaVu_Sans_Mono:h13:cANSI "设置字体和大小
noremap W :w<CR>
noremap Q :q<CR>
noremap Y 5h
noremap U 5j
noremap I 5k
noremap O 5l
inoremap <F8> <esc>
set tabstop=4
set wrap "设置自动换行
set linebreak "整词换行,与自动换行搭配使用
set showtabline=2 "设置显是显示标签栏
set autoread "设置当文件在外部被修改,自动更新该文件
set hlsearch "高亮显示查找结果
set incsearch "增量查找
exec "nohlsearch"
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示文件名:总行数,总的字符数
set ruler "在编辑过程中,在右下角显示光标位置的状态行
set smartindent "智能对齐
set showmatch "设置匹配模式,相当于括号匹配
set cursorline "启用光标行
set scrolloff=5 "在光标接近底端或顶端时,自动下滚或上滚
set mouse=a "设置在任何模式下鼠标都可用
set ai! "设置自动缩进
set guicursor+=a:blinkon0 "设置光标不闪烁
set ignorecase "搜索大小写不敏感
set noic map <F4> :%!python -m json.tool<CR> "格式化json字符串
"代码折叠
set foldmethod=indent
set foldlevel=99
let g:SimpylFold_docstring_preview=1 "切换分屏
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H> "plugin插件配置
call plug#begin('E:\Gvim\Vim\vim81\plugs')
Plug 'tell-k/vim-autopep8'
Plug 'scrooloose/nerdtree'
Plug 'vim-scripts/indentpython.vim'
Plug 'tmhedberg/SimpylFold'
Plug 'rkulla/pydiction'
Plug 'Yggdroot/indentLine'
call plug#end() "配置文件树
"设置NerdTree 按F3打开或关闭NERDTree
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
"打开vim时自动打开NERDTree
autocmd VimEnter * NERDTree
"关闭所有文本窗口时自动退出vim,否则需要两次退出才可
autocmd BufEnter * if 0 == len(filter(range(1, winnr('$')), 'empty(getbufvar(winbufnr(v:val), "&bt"))'))
let NERDTreeIgnore = ['\.pyc$'] " 过滤所有.pyc文件不显示
let NERDTreeMinimalUI = 1
let NERDTreeDirArrows = 1 "一键运行
map <F12> :call CompileRunGcc()<CR> func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec '!g++ % -o %<'
exec '!./%<'
elseif &filetype == 'cpp'
exec '!g++ % -o %<'
exec '!./%<'
elseif &filetype == 'python'
exec '!python %'
elseif &filetype == 'sh'
:!bash %
endif
endfunc "自动补全
filetype plugin on
let g:pydiction_location = 'E:\Gvim\Vim\vim81\ftplugin\complete-dict'
let g:pydiction_menu_height = 3 "PEP8
autocmd FileType python noremap <buffer> <C-\> :call Autopep8()<CR> set nocompatible "与vi不兼容
set backspace=indent,eol,start "缩进线
let g:indentLine_color_gui = '#A4E57E'
let g:indentLine_color_tty_light = 7
let g:indentLine_color_dark = 1 "ctags配置
map <F9> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
imap <F9> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
set tags=tags;
set autochdir "配置taglist
noremap pp :TlistToggle<CR> "格式化json
command! Json :execute '%!python -m json.tool'
\ | :execute '%!python -c "import re,sys;chr=__builtins__.__dict__.get(\"unichr\", chr);sys.stdout.write(re.sub(r\"\\u[0-9a-f]{4}\", lambda x: chr(int(\"0x\" + x.group(0)[2:], 16)).encode(\"utf-8\"), sys.stdin.read()))"'
\ | :set ft=javascript
\ | :1

三. 效果图

Gvim打造python编辑器,附自己的配置文件的更多相关文章

  1. vim下打造python编辑器

    在前面文章中介绍的关于vim基础插件之上加上一款专门为读写python程序的插件-Python-mode. 顾名思义,就是让vim在python模式下运行.这里介绍这款插件的功能以及如何使用. 本文主 ...

  2. 最流行的Python编辑器/IDEs你认识吗?

    来源商业新知网,原标题:来!带你认识几种最流行的Python编辑器/IDEs(附链接) 大数据文摘授权转载自数据派THU 作者:By Gregory Piatetsky 格雷戈里·皮亚特斯基,KDnu ...

  3. 转载 - Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)

    出处:http://www.cnblogs.com/ifantastic/p/3185665.html Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LT ...

  4. kafka实战教程(python操作kafka),kafka配置文件详解

    kafka实战教程(python操作kafka),kafka配置文件详解 应用往Kafka写数据的原因有很多:用户行为分析.日志存储.异步通信等.多样化的使用场景带来了多样化的需求:消息是否能丢失?是 ...

  5. python编辑器对比和推荐

    python编辑器对比和推荐   我先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出.有些我没有用过,先不写了.以下是我使用过的python IDE: 除了PythonWin, Visua ...

  6. 4种好用的python编辑器

    1.Sublime Text: 这是一个轻量级的代码编辑器,跨平台,支持几十种编程语言,包括Python,Java,C/C++等,小巧灵活,运行轻快,支持代码高亮.自动补全.语法提示,插件扩展丰富,是 ...

  7. Python编辑器IDLE傻瓜入门

    转自:http://bbs.csdn.net/topics/390451617 下载python进行安装,默认自带此工具开始->程序->Python 2.*/3.*-> IDLE ( ...

  8. Python获取当前路径下的配置文件

    Python获取当前路径下的配置文件 有的时候想读取当前目录下的一个配置文件.其采用的办法是: import os # 获取当前路径 curr_dir = os.path.dirname(os.pat ...

  9. python的ConfigParser读取设置配置文件

    python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案,以下的文章就是对python 读写配置文件的具体方案的介绍,望你浏览完下面的文章会有所收获. pytho ...

随机推荐

  1. c++入门构造函数

    一种方法: class Student{ public: //声明有默认参数的构造函数 Student(,,float=10); //声明成员函数 void total(); private: //声 ...

  2. TCP/IP学习笔记16--TCP--特点,数据重发,连接管理,段

    TCP充分实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的包进行顺序控制,这些在UDP中都是没有的.UDP是一种没有复杂控制,提供面向无连接通信服务的一种协议.TCP是面向有 ...

  3. TCP协议的11种状态及其变化过程?传输的内容又是什么?

    在TCP的11种状态变迁中,我们需要用到TCP头部的三个标志位: 1.SYN,SYN=1表示这是一个连接请求报文或者连接接受报文 2.ACK,ACK=1,表示确认号生效 3.FIN,FIN=1表示发送 ...

  4. [转帖]Linux教程(8)-Linux中的进程和日志㐇、

    Linux教程(8)-Linux中的进程和日志 2018-08-20 23:42:23 钱婷婷 阅读数 3554更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

  5. nRF24L01P的ShockBurst与Enhance ShockBurst

    nRF24L01P的数据手册里讲到了两个两种发射模式ShockBurst Mode和Enhanced ShockBurst Mode.但是呢,手册里着重的一直在讲Enhanced ShockBurst ...

  6. Linux安装centos

    在虚拟机上安装centos 虚拟机使用win10自带的hyper-v非常好用 centos下载地址http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_ ...

  7. 【scratch3.0教程】1.1 走进编程世界

    第一章 认识Scratch 第1课   走进编程世界 大家认识下图中的人物吗? 史蒂夫·乔布斯             比尔·盖茨 ●Elon Musk,特斯拉.Space X火箭公司创始人,9岁学习 ...

  8. Relative Sort Array

    Relative Sort Array Given two arrays arr1 and arr2, the elements of arr2 are distinct, and all eleme ...

  9. bootstrap table 列表增加输入框并保存输入的值不清除

    需求: 在bootstrap table上增加输入框,需要选择的时候把输入的值保存到 row 里面,传递给其他模块使用. 实现: columns: [{ ...., { field: 'myField ...

  10. 网络编程-tcp三次握手和四次挥手

    TCP三次握手和四次挥手过程 1.三次握手 (1)三次握手的详述 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源.Client端接收到ACK报文后也向 ...